remove unnecessary pkg queue and reassign operations 27/62927/2
authorJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 21 Mar 2016 06:20:07 +0000 (15:20 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 21 Mar 2016 10:22:41 +0000 (03:22 -0700)
Change-Id: I05effb13bbafb3dfc925a828d0fa0dbc223e15b3
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
include/pm-queue.h
src/pkgmgr-server.c
src/pm-queue.c
src/request.c

index fac45d5..046edb9 100644 (file)
@@ -48,7 +48,7 @@ typedef struct queue_info_map_t {
 
 int _pm_queue_init(void);
 int _pm_queue_push(uid_t uid, const char *req_id, int req_type,
-               const char *pkg_type, const char *pkgid, const char *argv);
+               const char *queue_type, const char *pkgid, const char *argv);
 /*position specifies the queue from which to pop request*/
 pm_dbus_msg *_pm_queue_pop(int position);
 void _pm_queue_final();
index a0bd7c8..d3a780d 100644 (file)
@@ -204,7 +204,7 @@ static void __unset_recovery_mode(uid_t uid, char *pkgid, char *pkg_type)
 }
 
 static void __send_app_signal(uid_t uid, const char *req_id,
-               const char *pkg_type, const char *pkgid, const char *appid,
+               const char *pkgid, const char *appid,
                const char *key, const char *val)
 {
        pkgmgr_installer *pi;
@@ -221,7 +221,7 @@ static void __send_app_signal(uid_t uid, const char *req_id,
                goto catch;
        if (pkgmgr_installer_set_session_id(pi, req_id))
                goto catch;
-       pkgmgr_installer_send_app_signal(pi, pkg_type, pkgid, appid, key, val);
+       pkgmgr_installer_send_app_signal(pi, "app", pkgid, appid, key, val);
 
 catch:
        pkgmgr_installer_free(pi);
@@ -923,28 +923,24 @@ static int __process_enable_app(pm_dbus_msg *item)
 {
        int ret = -1;
 
-       __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                       item->pkgid, item->pkgid,
+       __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid,
                        PKGMGR_INSTALLER_START_KEY_STR,
                        PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR);
 
        /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */
        ret = __change_item_info(item, item->uid);
        if (ret != PMINFO_R_OK || strlen(item->appid) == 0) {
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->pkgid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
                return ret;
        }
 
        ret = pkgmgr_parser_update_app_disable_info_in_usr_db(item->appid, item->uid, 0);
        if (ret != PMINFO_R_OK)
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
        else
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_OK_EVENT_STR);
 
        return ret;
@@ -954,16 +950,14 @@ static int __process_disable_app(pm_dbus_msg *item)
 {
        int ret = -1;
 
-       __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                       item->pkgid, item->pkgid,
+       __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid,
                        PKGMGR_INSTALLER_START_KEY_STR,
                        PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR);
 
        /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */
        ret = __change_item_info(item, item->uid);
        if (ret != PMINFO_R_OK || strlen(item->appid) == 0) {
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->pkgid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
                return ret;
        }
@@ -977,12 +971,10 @@ static int __process_disable_app(pm_dbus_msg *item)
 
        ret = pkgmgr_parser_update_app_disable_info_in_usr_db(item->appid, item->uid, 1);
        if (ret != PMINFO_R_OK)
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
        else
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_OK_EVENT_STR);
 
        return ret;
@@ -992,28 +984,24 @@ static int __process_enable_global_app_for_uid(pm_dbus_msg *item)
 {
        int ret = -1;
 
-       __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                       item->pkgid, item->pkgid,
+       __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid,
                        PKGMGR_INSTALLER_START_KEY_STR,
                        PKGMGR_INSTALLER_GLOBAL_APP_ENABLE_FOR_UID);
 
        /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */
        ret = __change_item_info(item, item->uid);
        if (ret != PMINFO_R_OK || strlen(item->appid) == 0) {
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->pkgid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
                return ret;
        }
 
        ret = pkgmgr_parser_update_global_app_disable_for_uid_info_in_db(item->appid, item->uid, 0);
        if (ret != PMINFO_R_OK)
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
        else
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_OK_EVENT_STR);
 
        return ret;
@@ -1023,7 +1011,7 @@ static int __process_disable_global_app_for_uid(pm_dbus_msg *item)
 {
        int ret = -1;
 
-       __send_app_signal(item->uid, item->req_id, item->pkg_type,
+       __send_app_signal(item->uid, item->req_id,
                        item->pkgid, item->pkgid,
                        PKGMGR_INSTALLER_START_KEY_STR,
                        PKGMGR_INSTALLER_GLOBAL_APP_DISABLE_FOR_UID);
@@ -1031,8 +1019,7 @@ static int __process_disable_global_app_for_uid(pm_dbus_msg *item)
        /* get actual pkgid and replace it to appid which is currently stored at pkgid variable */
        ret = __change_item_info(item, GLOBAL_USER);
        if (ret != PMINFO_R_OK || strlen(item->appid) == 0) {
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->pkgid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->pkgid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
                return ret;
        }
@@ -1041,12 +1028,10 @@ static int __process_disable_global_app_for_uid(pm_dbus_msg *item)
 
        ret = pkgmgr_parser_update_global_app_disable_for_uid_info_in_db(item->appid, item->uid, 1);
        if (ret != PMINFO_R_OK)
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_FAIL_EVENT_STR);
        else
-               __send_app_signal(item->uid, item->req_id, item->pkg_type,
-                               item->pkgid, item->appid,
+               __send_app_signal(item->uid, item->req_id, item->pkgid, item->appid,
                                PKGMGR_INSTALLER_END_KEY_STR, PKGMGR_INSTALLER_OK_EVENT_STR);
 
        return ret;
index 1839d53..5131015 100644 (file)
@@ -259,17 +259,17 @@ int _pm_queue_init(void)
 }
 
 int _pm_queue_push(uid_t uid, const char *req_id, int req_type,
-               const char *pkg_type, const char *pkgid, const char *args)
+               const char *queue_type, const char *pkgid, const char *args)
 {
        pm_queue_data *data = NULL;
        pm_queue_data *cur = NULL;
        pm_queue_data *tmp = NULL;
        int ret = 0;
-       ret = __is_pkg_supported(pkg_type);
+       ret = __is_pkg_supported(queue_type);
        if (ret == 0)
                return -1;
 
-       cur = __get_head_from_pkgtype(pkg_type);
+       cur = __get_head_from_pkgtype(queue_type);
        tmp = cur;
 
        /* TODO: use glist */
@@ -282,7 +282,7 @@ int _pm_queue_push(uid_t uid, const char *req_id, int req_type,
        snprintf(data->msg->req_id, sizeof(data->msg->req_id), "%s", req_id);
        data->msg->req_type = req_type;
        data->msg->uid = uid;
-       snprintf(data->msg->pkg_type, sizeof(data->msg->pkg_type), "%s", pkg_type);
+       snprintf(data->msg->pkg_type, sizeof(data->msg->pkg_type), "%s", queue_type);
        snprintf(data->msg->pkgid, sizeof(data->msg->pkgid), "%s", pkgid);
        snprintf(data->msg->args, sizeof(data->msg->args), "%s", args);
 
index a818550..d26165b 100644 (file)
@@ -44,11 +44,13 @@ static const char instropection_xml[] =
        "    </method>"
        "    <method name='enable_pkg'>"
        "      <arg type='u' name='uid' direction='in'/>"
+       "      <arg type='s' name='pkgtype' direction='in'/>"
        "      <arg type='s' name='pkgid' direction='in'/>"
        "      <arg type='i' name='ret' direction='out'/>"
        "    </method>"
        "    <method name='disable_pkg'>"
        "      <arg type='u' name='uid' direction='in'/>"
+       "      <arg type='s' name='pkgtype' direction='in'/>"
        "      <arg type='s' name='pkgid' direction='in'/>"
        "      <arg type='i' name='ret' direction='out'/>"
        "    </method>"
@@ -344,16 +346,17 @@ static int __handle_request_enable_pkg(uid_t uid,
                GDBusMethodInvocation *invocation, GVariant *parameters)
 {
        uid_t target_uid = (uid_t)-1;
+       char *pkgtype = NULL;
        char *pkgid = NULL;
 
-       g_variant_get(parameters, "(u&s)", &target_uid, &pkgid);
+       g_variant_get(parameters, "(u&s&s)", &target_uid, &pkgtype, &pkgid);
        if (target_uid == (uid_t)-1 || pkgid == NULL) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ECOMM));
                return -1;
        }
 
-       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_ENABLE_PKG, "pkg",
+       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_ENABLE_PKG, &pkgtype,
                                pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
@@ -370,16 +373,17 @@ static int __handle_request_disable_pkg(uid_t uid,
                GDBusMethodInvocation *invocation, GVariant *parameters)
 {
        uid_t target_uid = (uid_t)-1;
+       char *pkgtype = NULL;
        char *pkgid = NULL;
 
-       g_variant_get(parameters, "(u&s)", &target_uid, &pkgid);
+       g_variant_get(parameters, "(u&s&s)", &target_uid, &pkgtype, &pkgid);
        if (target_uid == (uid_t)-1 || pkgid == NULL) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ECOMM));
                return -1;
        }
 
-       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_DISABLE_PKG, "pkg",
+       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_DISABLE_PKG, &pkgtype,
                                pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
@@ -413,7 +417,7 @@ static int __handle_request_enable_app(uid_t uid,
                goto catch;
        }
 
-       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_ENABLE_APP, "app",
+       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_ENABLE_APP, "default",
                                appid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
@@ -454,7 +458,7 @@ static int __handle_request_disable_app(uid_t uid,
                goto catch;
        }
 
-       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_DISABLE_APP, "app",
+       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_DISABLE_APP, "default",
                                appid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
@@ -495,7 +499,7 @@ static int __handle_request_enable_global_app_for_uid(uid_t uid,
                goto catch;
        }
 
-       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_ENABLE_GLOBAL_APP_FOR_UID, "app",
+       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_ENABLE_GLOBAL_APP_FOR_UID, "default",
                                appid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
@@ -536,7 +540,7 @@ static int __handle_request_disable_global_app_for_uid(uid_t uid,
                goto catch;
        }
 
-       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_DISABLE_GLOBAL_APP_FOR_UID, "app",
+       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_DISABLE_GLOBAL_APP_FOR_UID, "default",
                                appid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
@@ -577,7 +581,7 @@ static int __handle_request_getsize(uid_t uid,
                return -1;
 
        snprintf(buf, sizeof(buf), "%d", get_type);
-       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_GETSIZE, "getsize",
+       if (_pm_queue_push(target_uid, reqkey, PKGMGR_REQUEST_TYPE_GETSIZE, "pkgtool",
                                pkgid, buf)) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(is)", PKGMGR_R_ESYSTEM, ""));
@@ -606,7 +610,7 @@ static int __handle_request_cleardata(uid_t uid,
                return -1;
        }
 
-       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_CLEARDATA, pkgtype,
+       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_CLEARDATA, "pkgtool",
                                pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
@@ -633,7 +637,7 @@ static int __handle_request_clearcache(uid_t uid,
        }
 
        if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_CLEARCACHE,
-                               "clearcache", pkgid, "")) {
+                               "pkgtool",  pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
                return -1;
@@ -658,7 +662,7 @@ static int __handle_request_kill(uid_t uid,
                return -1;
        }
 
-       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_KILL, "pkg",
+       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_KILL, "default",
                                pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
@@ -684,7 +688,7 @@ static int __handle_request_check(uid_t uid,
                return -1;
        }
 
-       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_CHECK, "pkg",
+       if (_pm_queue_push(target_uid, "", PKGMGR_REQUEST_TYPE_CHECK, "default",
                                pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
@@ -720,7 +724,7 @@ static int __handle_request_generate_license_request(uid_t uid,
 
        if (_pm_queue_push(uid, reqkey,
                                PKGMGR_REQUEST_TYPE_GENERATE_LICENSE_REQUEST,
-                               "pkg", "", resp_data)) {
+                               "default", "", resp_data)) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(iss)", PKGMGR_R_ESYSTEM, "",
                                        ""));
@@ -756,7 +760,7 @@ static int __handle_request_register_license(uid_t uid,
        }
 
        if (_pm_queue_push(uid, reqkey, PKGMGR_REQUEST_TYPE_REGISTER_LICENSE,
-                               "pkg", "", resp_data)) {
+                               "default", "", resp_data)) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
                free(reqkey);
@@ -793,7 +797,7 @@ static int __handle_request_decrypt_package(uid_t uid,
        }
 
        if (_pm_queue_push(uid, reqkey, PKGMGR_REQUEST_TYPE_DECRYPT_PACKAGE,
-                               "pkg", drm_file_path, decrypted_file_path)) {
+                               "default", drm_file_path, decrypted_file_path)) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
                free(reqkey);
@@ -830,7 +834,7 @@ static int __handle_request_add_blacklist(uid_t uid,
 
        if (_pm_queue_push(target_uid, reqkey,
                                PKGMGR_REQUEST_TYPE_ADD_BLACKLIST,
-                               "pkg", pkgid, "")) {
+                               "default",  pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
                free(reqkey);
@@ -867,7 +871,7 @@ static int __handle_request_remove_blacklist(uid_t uid,
 
        if (_pm_queue_push(target_uid, reqkey,
                                PKGMGR_REQUEST_TYPE_REMOVE_BLACKLIST,
-                               "pkg", pkgid, "")) {
+                               "default", pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(i)", PKGMGR_R_ESYSTEM));
                free(reqkey);
@@ -904,7 +908,7 @@ static int __handle_request_check_blacklist(uid_t uid,
 
        if (_pm_queue_push(target_uid, reqkey,
                                PKGMGR_REQUEST_TYPE_CHECK_BLACKLIST,
-                               "pkg", pkgid, "")) {
+                               "default", pkgid, "")) {
                g_dbus_method_invocation_return_value(invocation,
                                g_variant_new("(ii)", PKGMGR_R_ESYSTEM, -1));
                free(reqkey);