From f827f9e0d51ad39bede2cf385ac73a6dac3fb6af Mon Sep 17 00:00:00 2001 From: Hyungdeuk Kim Date: Thu, 11 Apr 2013 12:40:41 +0900 Subject: [PATCH] modify internal logic of service_get_caller --- packaging/capi-appfw-application.spec | 4 ++-- src/service.c | 42 +++++++++-------------------------- 2 files changed, 13 insertions(+), 33 deletions(-) diff --git a/packaging/capi-appfw-application.spec b/packaging/capi-appfw-application.spec index 7fdfae4..38d65de 100755 --- a/packaging/capi-appfw-application.spec +++ b/packaging/capi-appfw-application.spec @@ -1,7 +1,7 @@ Name: capi-appfw-application Summary: An Application library in SLP C API -Version: 0.1.0 -Release: 50 +Version: 0.1.0 +Release: 51 Group: API License: Apache-2.0 Source0: %{name}-%{version}.tar.gz diff --git a/src/service.c b/src/service.c index 73196b1..e01f86a 100755 --- a/src/service.c +++ b/src/service.c @@ -1157,8 +1157,6 @@ int service_foreach_app_matched(service_h service, service_app_matched_cb callba int service_get_caller(service_h service, char **package) { const char *bundle_value; - pid_t caller_pid; - char package_buf[TIZEN_PATH_MAX] = {0, }; char *package_dup; if (service_valiate_service(service) || package == NULL) @@ -1171,38 +1169,20 @@ int service_get_caller(service_h service, char **package) return service_error(SERVICE_ERROR_INVALID_PARAMETER, __FUNCTION__, "invalid service handle type"); } - bundle_value = bundle_get_val(service->data, AUL_K_ORG_CALLER_PID); + bundle_value = bundle_get_val(service->data, AUL_K_CALLER_APPID); + if (bundle_value == NULL) + { + return service_error(SERVICE_ERROR_INVALID_PARAMETER, __FUNCTION__, "failed to retrieve the appid of the caller"); + } - if (bundle_value == NULL) - { - bundle_value = bundle_get_val(service->data, AUL_K_CALLER_PID); - } - - if (bundle_value == NULL) - { - return service_error(SERVICE_ERROR_INVALID_PARAMETER, __FUNCTION__, "failed to retrieve the pid of the caller"); - } - - caller_pid = atoi(bundle_value); - - if (caller_pid <= 0) - { - return service_error(SERVICE_ERROR_INVALID_PARAMETER, __FUNCTION__, "invalid pid of the caller"); - } - - if (aul_app_get_appid_bypid(caller_pid, package_buf, sizeof(package_buf)) != AUL_R_OK) - { - return service_error(SERVICE_ERROR_APP_NOT_FOUND, __FUNCTION__, "failed to get the package name of the caller"); - } + package_dup = strdup(bundle_value); - package_dup = strdup(package_buf); - - if (package_dup == NULL) - { - return service_error(SERVICE_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); - } + if (package_dup == NULL) + { + return service_error(SERVICE_ERROR_OUT_OF_MEMORY, __FUNCTION__, NULL); + } - *package = package_dup; + *package = package_dup; return SERVICE_ERROR_NONE; } -- 2.7.4