void entry(void) ---> In entry.c file
{
object_info_t info;
/// Recording services
ObjectGetInfo(OBJECT_TYPE_APPLI, ApplicationGetCurrent(),&info);
give_interface(info.application_type, NULL, NULL);
strcpy(info.name," MhLottery ");
memcpy(appName,info.name,OBJECT_NAME_LEN);
appName[OBJECT_NAME_LEN] = '\0';
}
Entry points are application’s functions lunched by the manager on events as :
– Reset
– Key pressed
– Clock (cyclic execution)
– Magnetic card swiped
– Smart card inserted
– File received
– It is also possible to create your own event using IAM mechanism…
Application must record services for all entry points at application boot
2 types of entry point (EP)
– Polling EP : Manager polls all applications (broadcast)
• Polling order is performed according to a defined priority
– Selecting EP : Manager gives focus to one application
At the end of each entry point, application must return to Manager
int after_reset(NO_SEGMENT no, void *p1, S_TRANSOUT *param_out)
{
------------
----------------
}
– Activated on each terminal reset (Polling according to priority)
– No data coming from Manager
– Data to return to Manager
• S_TRANSOUT
» If previous transaction was interrupted
– Application reset processing
• Check if cold reset (after downloading) or warm reset (no downloading)
• Initialise data and create disks
• Latest moment to call RegisterPowerFailure()
• Load and Open all mandatory Dlls
» Note that these 2 last cases Dll and RegisterPowerFailure() can also be moved to
entry() function, just after the service registering command.