Update for terminating Submode Appcontrol
[platform/framework/native/appfw.git] / src / app / FApp_Aul.cpp
index a94d145..391773c 100644 (file)
@@ -29,7 +29,6 @@
 #include <aul.h>
 #include <bundle.h>
 #include <appsvc/appsvc.h>
-#include <app_manager.h>
 #include <heynoti.h>
 
 #include <FBaseObject.h>
@@ -44,6 +43,7 @@
 #include "FAppPkg_PackageManagerImpl.h"
 #include "FApp_Types.h"
 #include "FApp_Aul.h"
+#include "FApp_AppArg.h"
 #include "FApp_TemplateUtil.h"
 
 
@@ -114,7 +114,7 @@ _Aul::GetConvertedResult(const int aul_ret, const char* pFunctionName)
 }
 
 result
-_Aul::SendResult(bundle* b, appsvc_result_val res)
+_Aul::SendResult(bundle* b, appsvc_result_val res, bool isSubMode)
 {
        // to skip error handling, of appsvc_send_result, use aul_send_service_result() directly.
        //int ret = appsvc_send_result(b, res);
@@ -123,6 +123,11 @@ _Aul::SendResult(bundle* b, appsvc_result_val res)
        snprintf(tmp, 32, "%d", static_cast<int>(res));
        appsvc_add_data(b, APP_SVC_K_RES_VAL, tmp);
 
+       if (isSubMode)
+       {
+               _AppArg::UpdateSubMode(b);
+       }
+
        const int aul_ret = aul_send_service_result(b);
 
        result r = GetConvertedResult(aul_ret, "SendResult");
@@ -138,10 +143,9 @@ _Aul::SendResult(bundle* b, appsvc_result_val res)
 bool
 _Aul::IsRunning(const String& appId)
 {
-       bool isRunning = false;
-       std::unique_ptr<char[]> pSlpPackageName(_StringConverter::CopyToCharArrayN(appId));
+       std::unique_ptr<char[]> pPackageId(_StringConverter::CopyToCharArrayN(appId));
 
-       app_manager_is_running(pSlpPackageName.get(), &isRunning);
+       const bool isRunning = (aul_app_is_running(pPackageId.get()) > 0);
 
        SysLog(NID_APP, "'%ls' %s running now.", appId.GetPointer(), (isRunning) ? "is" : "is NOT");
        return isRunning;
@@ -151,7 +155,7 @@ _Aul::IsRunning(const String& appId)
 result
 _Aul::TerminateApplicationByPid(int pid)
 {
-       int ret_aul = aul_terminate_pid(pid);
+       int ret_aul = aul_subapp_terminate_request_pid(pid);
 
        return GetConvertedResult(ret_aul, "TerminateApplicationByPid");
 }