int AppActionLaunch::set(const std::string &val)
{
+ requestVal = val;
+
bool running;
- app_manager_is_running(val.c_str(), &running);
- if (running)
- INFO("It's already running before started mode-supervisor daemon");
+ int ret = app_manager_is_running(val.c_str(), &running);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ ERR("app_manager_is_running(%s) Fail(%d)", val.c_str(), ret);
+ } else if (running) {
+ INFO("It's already running");
+ return MODES_ERROR_NONE;
+ }
app_control_h service;
app_control_create(&service);
app_control_set_operation(service, APP_CONTROL_OPERATION_DEFAULT);
app_control_set_launch_mode(service, APP_CONTROL_LAUNCH_MODE_SINGLE);
- int ret = app_control_send_launch_request(service, nullptr, nullptr);
+ ret = app_control_send_launch_request(service, NULL, NULL);
if (APP_CONTROL_ERROR_NONE != ret) {
ERR("app_control_send_launch_request() Fail(%s)", get_error_message(ret));
return MODES_ERROR_SYSTEM;
}
app_control_destroy(service);
- appID = val;
-
return MODES_ERROR_NONE;
}
bool running;
app_context_h runAppContext;
- app_manager_is_running(appID.c_str(), &running);
- if (!running) {
- DBG("It's NOT running");
+ int ret = app_manager_is_running(requestVal.c_str(), &running);
+ if (APP_MANAGER_ERROR_NONE != ret) {
+ ERR("app_manager_is_running(%s) Fail(%d)", requestVal.c_str(), ret);
+ } else if (false == running) {
+ WARN("It's NOT running");
return;
}
- int ret = app_manager_get_app_context(appID.c_str(), &runAppContext);
+ ret = app_manager_get_app_context(requestVal.c_str(), &runAppContext);
if (APP_MANAGER_ERROR_NONE != ret) {
- ERR("app_manager_get_app_context(%s) Fail(%s)", appID.c_str(), get_error_message(ret));
+ ERR("app_manager_get_app_context(%s) Fail(%s)", requestVal.c_str(), get_error_message(ret));
return;
}
ret = app_manager_terminate_app(runAppContext);
std::string AppActionLaunch::serialize()
{
- return appID;
+ return requestVal;
}
int AppActionLaunch::parse(const std::string &archive)
{
- appID = archive;
+ requestVal = archive;
return MODES_ERROR_NONE;
}
{
RETV_IF(nullptr == callback, MODES_ERROR_INVALID_PARAMETER);
- int err = app_manager_set_app_context_status_cb(appContextStatusCB, appID.c_str(), this);
+ int err = app_manager_set_app_context_status_cb(appContextStatusCB, requestVal.c_str(), this);
if (APP_MANAGER_ERROR_NONE != err) {
ERR("app_manager_set_app_context_status_cb() Fail(%s)", get_error_message(err));
return MODES_ERROR_SYSTEM;
void AppActionLaunch::unSetChangedCallback(valueChangedCB callback, void *userData)
{
- int ret = app_manager_unset_app_context_status_cb(appContextStatusCB, appID.c_str());
+ int ret = app_manager_unset_app_context_status_cb(appContextStatusCB, requestVal.c_str());
if (APP_MANAGER_ERROR_NONE != ret)
ERR("app_manager_unset_app_context_status_cb() Fail(%s)", get_error_message(ret));
void AppActionLaunch::appContextStatusCB(app_context_h app_context, app_context_status_e status, void *userData)
{
+ AppActionLaunch *action = (AppActionLaunch*)userData;
+
RET_IF(nullptr == userData);
RET_IF(APP_CONTEXT_STATUS_TERMINATED != status);
return;
}
- AppActionLaunch *action = (AppActionLaunch*)userData;
- if (appid == action->appID && action->cb)
+ if (action->cb && appid == action->requestVal)
action->cb(action->cbData);
free(appid);
- return;
}