Implement pkg enable/disable 16/78916/7 accepted/tizen/common/20160719.171909 accepted/tizen/ivi/20160718.104422 accepted/tizen/mobile/20160718.104307 accepted/tizen/tv/20160718.104241 accepted/tizen/wearable/20160718.104325 submit/tizen/20160718.020809
authorJunghyun Yeon <jungh.yeon@samsung.com>
Thu, 7 Jul 2016 10:13:07 +0000 (19:13 +0900)
committerJunghyun Yeon <jungh.yeon@samsung.com>
Mon, 18 Jul 2016 01:48:00 +0000 (18:48 -0700)
Related changes
[slp-pkgmgr] https://review.tizen.org/gerrit/78917
[pkgmgr-server] https://review.tizen.org/gerrit/78918
[app-installers] https://review.tizen.org/gerrit/78919
[tpk-backend] https://review.tizen.org/gerrit/#/c/79070/

Change-Id: Ia3f1b3eb5dcdf85b2a761af7e42e71a44d42f401
Signed-off-by: Junghyun Yeon <jungh.yeon@samsung.com>
src/pkg_cmd.c

index 38b72f3f62e144c44bdba99db7cb3c2b6a72b4d7..f0b23aea586625addbc508329fd2adab454086bc 100644 (file)
@@ -786,10 +786,19 @@ static int __process_request(uid_t uid)
                                largv[1] = data.label;
                                ret = pkgmgr_client_usr_activate_appv(pc, data.pkgid, largv, uid);
                        }
-               } else
-                       /* enable package which belongs to this user */
+               } else {
+                       ret = pkgmgr_client_set_status_type(pc, PKGMGR_CLIENT_STATUS_INSTALL);
+                       if (ret != PKGMGR_R_OK) {
+                               printf("Failed to set status type[%d]\n", ret);
+                               break;
+                       }
+                       ret = pkgmgr_client_listen_status(pc, __return_cb, NULL);
+                       if (ret < 0) {
+                               printf("Failed to set callback[%d]\n", ret);
+                               break;
+                       }
                        ret = pkgmgr_client_usr_activate(pc, data.pkg_type, data.pkgid, uid);
-
+               }
                if (ret < 0)
                        break;
 
@@ -820,16 +829,25 @@ static int __process_request(uid_t uid)
                        else
                                /* disable app which belongs to this user */
                                ret = pkgmgr_client_usr_deactivate_app(pc, data.pkgid, __app_return_cb, uid);
-               } else
+               } else {
+                       ret = pkgmgr_client_set_status_type(pc, PKGMGR_CLIENT_STATUS_UNINSTALL);
+                       if (ret != PKGMGR_R_OK) {
+                               printf("Failed to set status type[%d]\n", ret);
+                               break;
+                       }
+                       ret = pkgmgr_client_listen_status(pc, __return_cb, NULL);
+                       if (ret < 0) {
+                               printf("Failed to set callback[%d]\n", ret);
+                               break;
+                       }
                        /* disable package which belongs to this user*/
                        ret = pkgmgr_client_usr_deactivate(pc, data.pkg_type, data.pkgid, uid);
-
+               }
                if (ret < 0)
                        break;
 
                g_main_loop_run(main_loop);
                ret = data.result;
-
                break;
 
        case MOVE_REQ: