From 65008a347fb1b6f4965659a3cc3c1582dd03296f Mon Sep 17 00:00:00 2001 From: Seungkeun Lee Date: Wed, 13 Jan 2016 14:12:28 +0900 Subject: [PATCH] tizen-application-common - add missed feature - RequestedAppControl::response Change-Id: Ieb8c6993ca63da3a0cf2ce1e4273b0961b6397d0 --- modules/tizen-application-common/CMakeLists.txt | 2 +- .../app_common_extension.cc | 32 ++++++++++++++++------ packaging/jsnative.spec | 1 + 3 files changed, 26 insertions(+), 9 deletions(-) mode change 100644 => 100755 modules/tizen-application-common/CMakeLists.txt mode change 100644 => 100755 packaging/jsnative.spec diff --git a/modules/tizen-application-common/CMakeLists.txt b/modules/tizen-application-common/CMakeLists.txt old mode 100644 new mode 100755 index d4c812c..4da30ba --- a/modules/tizen-application-common/CMakeLists.txt +++ b/modules/tizen-application-common/CMakeLists.txt @@ -7,7 +7,7 @@ ADD_MODULE(${MODULE} XWALK SRCS app_common_extension.cc DEPENDS - dlog capi-appfw-application + dlog capi-appfw-application bundle ) # Copy Project diff --git a/modules/tizen-application-common/app_common_extension.cc b/modules/tizen-application-common/app_common_extension.cc index 39471cc..bb37caf 100755 --- a/modules/tizen-application-common/app_common_extension.cc +++ b/modules/tizen-application-common/app_common_extension.cc @@ -18,7 +18,10 @@ #include #include +#include #include +#include +#include #ifdef LOG_TAG #undef LOG_TAG @@ -119,10 +122,16 @@ void AppCommonInstance::HandleAppcontrolResponse(const picojson::value& value, } std::string appcontrol_json = value.get("appcontrol").to_str(); - // TODO(sngn.lee): to be implemented - // create request from json - // appcontrol_h request; - // app_control_create_from_json(&request, json.c_str()); + app_control_h request = nullptr; + + app_control_create(&request); + + if (appcontrol_json.length() > 0) { + bundle* b = nullptr; + bundle_from_json(appcontrol_json.c_str(), &b); + app_control_import_from_bundle(request, b); + bundle_free(b); + } auto extra_data = value.get("data").get(); app_control_h response; @@ -149,11 +158,18 @@ void AppCommonInstance::HandleAppcontrolResponse(const picojson::value& value, } } - // TODO(sngn.lee): to be implemented - // app_control_reply_to_launch_request(response, request, 0); - // app_control_destroy(request); + int ret = app_control_reply_to_launch_request(response, + request, + APP_CONTROL_RESULT_SUCCEEDED); + app_control_destroy(request); app_control_destroy(response); - result->insert(std::make_pair("result", picojson::value("OK"))); + if (ret == APP_CONTROL_ERROR_NONE) { + result->insert(std::make_pair("result", picojson::value("OK"))); + } else { + result->insert(std::make_pair("result", picojson::value("Fail"))); + result->insert( + std::make_pair("reason", picojson::value("Invalid Appcontrol"))); + } } } // namespace appfw diff --git a/packaging/jsnative.spec b/packaging/jsnative.spec old mode 100644 new mode 100755 index bbbcc1c..87defec --- a/packaging/jsnative.spec +++ b/packaging/jsnative.spec @@ -21,6 +21,7 @@ BuildRequires: pkgconfig(aul) BuildRequires: pkgconfig(capi-appfw-application) BuildRequires: pkgconfig(capi-appfw-app-manager) BuildRequires: pkgconfig(pkgmgr-info) +BuildRequires: pkgconfig(bundle) Requires: nodejs -- 2.7.4