#include <FAppServiceApp.h>
#include <FAppPkgIPackageInstallationEventListener.h>
#include <FSysIBootEventListener.h>
+#include <FApp_Aul.h>
#include <FApp_IAppManagerEventListener.h>
// IBootEventListener
virtual void OnBootCompleted(void);
- static void OnPowerOffNotiReceived(void* pData);
+ static void OnPowerOffNotiReceived(keynode_t* node, void* pData);
static void OnSystemServiceTerminated(int arg);
static AppService* __pAppService;
}
void
-AppService::OnPowerOffNotiReceived(void* pData)
+AppService::OnPowerOffNotiReceived(keynode_t* node, void* user_data)
{
- SysLog(NID_APP, "'power_off_start' noti received from system-server with 0x%x.", pData);
-
- AppService* pAppService = static_cast<AppService*>(pData);
- if (pAppService)
+ int value = -1;
+ if (!vconf_get_int(VCONFKEY_SYSMAN_POWER_OFF_STATUS, &value))
{
- SysLog(NID_APP, "osp-app-service is terminating now.");
- pAppService->Terminate();
+ if (value == VCONFKEY_SYSMAN_POWER_OFF_DIRECT || value == VCONFKEY_SYSMAN_POWER_OFF_RESTART)
+ {
+ SysLog(NID_APP, "'power_off_start' noti received from system-server with 0x%x.", user_data);
+
+ if (vconf_ignore_key_changed(VCONFKEY_SYSMAN_POWER_OFF_STATUS, AppService::OnPowerOffNotiReceived))
+ {
+ SysLog(NID_APP, "Fail to ignore vconf for key(%s)", VCONFKEY_SYSMAN_POWER_OFF_STATUS);
+ }
+
+ AppService* pAppService = static_cast<AppService*>(user_data);
+ if (pAppService)
+ {
+ SysLog(NID_APP, "osp-app-service is terminating now.");
+ pAppService->Terminate();
+ }
+
+ }
}
}