4 * Copyright (c) 2000 - 2011 Samsung Electronics Co., Ltd. All rights reserved.
6 * Contact: Jayoun Lee <airjany@samsung.com>, Sewook Park <sewook7.park@samsung.com>, Jaeho Lee <jaeho81.lee@samsung.com>
8 * Licensed under the Apache License, Version 2.0 (the "License");
9 * you may not use this file except in compliance with the License.
10 * You may obtain a copy of the License at
12 * http://www.apache.org/licenses/LICENSE-2.0
14 * Unless required by applicable law or agreed to in writing, software
15 * distributed under the License is distributed on an "AS IS" BASIS,
16 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 * See the License for the specific language governing permissions and
18 * limitations under the License.
28 #include <app-checker.h>
33 #define SLPAPI __attribute__ ((visibility("default")))
36 static int app_send_cmd(const char *pkg_name, const char *pkg_type, int pid, int cmd)
42 memset(&ad, 0, sizeof(ad));
44 strncpy(ad.pkg_name, pkg_name, MAX_PACKAGE_STR_SIZE-1);
45 strncpy(ad.pkg_type, pkg_type, MAX_PACKAGE_TYPE_SIZE-1);
48 data = (unsigned char *)g_base64_encode((const guchar *)&ad, sizeof(ad));
50 if ((ret = _app_send_raw(cmd, data, (int)strnlen((char *)data, AC_SOCK_MAXBUFF - 8))) < 0) {
61 case AC_R_ENOPULUGINS:
62 ret = AC_R_ENOPULUGINS;
73 SLPAPI int ac_check_launch_privilege(const char *appid, const char *pkg_type, int pid)
77 if(appid == NULL || pkg_type == NULL)
80 ret = app_send_cmd(appid, pkg_type, pid, AC_CHECK);
85 SLPAPI int ac_register_launch_privilege(const char *pkg_name, const char *pkg_type)
89 if(pkg_name == NULL || pkg_type == NULL)
92 ret = app_send_cmd(pkg_name, pkg_type, -1, AC_REGISTER);
97 SLPAPI int ac_unregister_launch_privilege(const char *pkg_name, const char *pkg_type)
101 if(pkg_name == NULL || pkg_type == NULL)
104 ret = app_send_cmd(pkg_name, pkg_type, -1, AC_UNREGISTER);