summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorHyungdeuk Kim <hd3.kim@samsung.com>2013-04-11 12:40:41 +0900
committerHyungdeuk Kim <hd3.kim@samsung.com>2013-04-11 12:40:41 +0900
commitf827f9e0d51ad39bede2cf385ac73a6dac3fb6af (patch)
tree7dfd85e13ccaf4a55cc7f2df20b887ba497af281
parent523dee77e593e0e9692ad539b1af7f1a9741f53e (diff)
downloadapplication-f827f9e0d51ad39bede2cf385ac73a6dac3fb6af.tar.gz
application-f827f9e0d51ad39bede2cf385ac73a6dac3fb6af.tar.bz2
application-f827f9e0d51ad39bede2cf385ac73a6dac3fb6af.zip
modify internal logic of service_get_caller
-rwxr-xr-xpackaging/capi-appfw-application.spec4
-rwxr-xr-xsrc/service.c42
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;
}