From: Hwankyu Jhun Date: Thu, 13 May 2021 07:32:29 +0000 (+0900) Subject: Support getting default appid of app-control X-Git-Tag: submit/tizen/20210528.065624~7 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a35f26dc87c7b9b3655aab20b9667f1630a69805;p=platform%2Fcore%2Fappfw%2Famd.git Support getting default appid of app-control Requires: - https://review.tizen.org/gerrit/#/c/platform/core/appfw/aul-1/+/258290/ - https://review.tizen.org/gerrit/#/c/platform/core/appfw/amd/+/258293/ Change-Id: Ic1479fe7ec851664bbe3c052ab6536b86684f5f8 Signed-off-by: Hwankyu Jhun --- diff --git a/src/lib/amd_app_control.cc b/src/lib/amd_app_control.cc index 7687087e..cb475407 100644 --- a/src/lib/amd_app_control.cc +++ b/src/lib/amd_app_control.cc @@ -255,6 +255,40 @@ static int __dispatch_app_unset_app_control_default_app(request_h req) { return 0; } +static int __dispatch_app_get_app_control_default_app(request_h req) { + tizen_base::Bundle b; + bundle* kb = _request_get_bundle(req); + const char* operation = aul_svc_get_operation(kb); + if (operation == nullptr) { + _E("Failed to get operation"); + aul_sock_send_bundle_with_fd(_request_remove_fd(req), -EINVAL, + b.GetHandle(), AUL_SOCK_NOREPLY); + return -1; + } + + const char* mime = aul_svc_get_mime(kb); + const char* uri = aul_svc_get_uri(kb); + + std::string app_control(operation); + app_control += "|"; + app_control += (uri == nullptr) ? "NULL" : uri; + app_control += "|"; + app_control += (mime == nullptr) ? "NULL" : mime; + + uid_t uid = _request_get_target_uid(req); + std::string app_id = AppSvcManager::GetInst().GetDefaultAppId( + uid, app_control); + if (!app_id.empty()) + b.Add(AUL_K_APPID, app_id); + + aul_sock_send_bundle_with_fd(_request_remove_fd(req), APP_GET_INFO_OK, + b.GetHandle(), AUL_SOCK_NOREPLY); + _I("[APP_GET_APP_CONTROL_DEFAULT_APP] app_control(%s), app_id(%s)", + app_control.c_str(), app_id.c_str()); + return 0; +} + + int _app_control_resolver_init(void) { static request_cmd_dispatch dispatch_table[] = { { @@ -273,6 +307,10 @@ int _app_control_resolver_init(void) { .cmd = APP_UNSET_APP_CONTROL_DEFAULT_APP, .callback = __dispatch_app_unset_app_control_default_app }, + { + .cmd = APP_GET_APP_CONTROL_DEFAULT_APP, + .callback = __dispatch_app_get_app_control_default_app + }, }; static cynara_checker cynara_checkers[] = { {