RDK Resources
[*RDK Preferred*]
Code Management Facility
RDK Forums
[RDK Conferences]
RDK Support
Archives
Papers & Presentations Archive
IARM (Inter Application Resource Management) is a mechanism for inter-process communication among different RDK applications. Its a platform agnostic inter process communication (IPC) mechanism for the other RDK components. The inter communication is possible between IARM application using events and RPC method.
IARM Manager is an IARM Application that runs as Linux daemon process.The IARM Bus Daemon is a Manager Component with Special privileges to manage resources. Other IARM Manager components include:
IARM-Bus offers two basic functionalities:
An IARM Application that runs as a linux daemon process is considered a Manager Component. The IARM-Bus Daemon is a special Manager component that belongs to the IARM core. Such manager components normally register Events and RPC methods for other applications to use.
IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT
IARM_BUS_PWRMgr_DeepSleepTimeout_EventData_t param; param.timeout = deep_sleep_delay_in_seconds; IARM_Bus_BroadcastEvent( IARM_BUS_PWRMGR_NAME, IARM_BUS_PWRMGR_EVENT_DEEPSLEEP_TIMEOUT, (void*)¶m, sizeof(param));
IARM_BUS_PWRMGR_EVENT_MODECHANGED
IARM_Bus_PWRMgr_EventData_t param; param.data.state.curState = curState; param.data.state.newState = newState; IARM_Bus_BroadcastEvent( IARM_BUS_PWRMGR_NAME, IARM_BUS_PWRMGR_EVENT_MODECHANGED, (void *)¶m, sizeof(param));
IARM_BUS_PWRMGR_API_SetPowerState
IARM_Bus_PWRMgr_SetPowerState_Param_t param; param.newState = IARM_BUS_PWRMGR_POWERSTATE_ON IARM_Bus_Call(IARM_BUS_PWRMGR_NAME, IARM_BUS_PWRMGR_API_SetPowerState, (void *)¶m, sizeof(param));
IARM_BUS_PWRMGR_API_GetPowerState
IARM_Bus_PWRMgr_GetPowerState_Param_t param; IARM_Bus_Call(IARM_BUS_PWRMGR_NAME, IARM_BUS_PWRMGR_API_GetPowerState, (void *)¶m, sizeof(param));