From: Junghyun Yeon Date: Wed, 16 Mar 2016 11:53:09 +0000 (+0900) Subject: seperate app enable/disable signal parameter X-Git-Tag: submit/tizen/20160322.002805^0 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e5e99bbaf466d05a305bcafaa0e4ea5414c828b7;p=platform%2Fcore%2Fappfw%2Fslp-pkgmgr.git seperate app enable/disable signal parameter Change-Id: Ie38784869255bf35679895f5f4f0f0e7432e878b Signed-off-by: Junghyun Yeon --- diff --git a/client/include/package-manager.h b/client/include/package-manager.h index 1708f6e..47d5a9f 100644 --- a/client/include/package-manager.h +++ b/client/include/package-manager.h @@ -110,7 +110,9 @@ extern "C" { #define PKGMGR_CLIENT_STATUS_CLEAR_DATA 0x10 #define PKGMGR_CLIENT_STATUS_INSTALL_PROGRESS 0x20 #define PKGMGR_CLIENT_STATUS_GET_SIZE 0x40 -#define PKGMGR_CLIENT_STATUS_ENABLE_DISABLE_APP 0x80 +#define PKGMGR_CLIENT_STATUS_ENABLE_APP 0x80 +#define PKGMGR_CLIENT_STATUS_DISABLE_APP 0x100 + /** @} */ /* new common error codes */ diff --git a/client/src/pkgmgr.c b/client/src/pkgmgr.c index c51da8f..c43b323 100644 --- a/client/src/pkgmgr.c +++ b/client/src/pkgmgr.c @@ -813,7 +813,7 @@ static int __change_op_cb_for_getsize(pkgmgr_client *pc) return PKGMGR_R_OK; } -static int __change_op_cb_for_enable_disable(pkgmgr_client *pc) +static int __change_op_cb_for_enable_disable(pkgmgr_client *pc, bool is_disable) { int ret = -1; @@ -835,13 +835,19 @@ static int __change_op_cb_for_enable_disable(pkgmgr_client *pc) /* Manage pc for seperated event */ mpc->ctype = PC_REQUEST; - mpc->status_type = PKGMGR_CLIENT_STATUS_ENABLE_DISABLE_APP; + if (is_disable) + mpc->status_type = PKGMGR_CLIENT_STATUS_DISABLE_APP; + else + mpc->status_type = PKGMGR_CLIENT_STATUS_ENABLE_APP; mpc->info.request.cc = comm_client_new(); retvm_if(mpc->info.request.cc == NULL, PKGMGR_R_ERROR, "client creation failed"); - ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_ENABLE_DISABLE_APP, mpc->info.request.cc, __operation_callback, pc); + if (is_disable) + ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_DISABLE_APP, mpc->info.request.cc, __operation_callback, pc); + else + ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_ENABLE_APP, mpc->info.request.cc, __operation_callback, pc); retvm_if(ret < 0, PKGMGR_R_ERROR, "set_status_callback() failed - %d", ret); return PKGMGR_R_OK; @@ -1379,7 +1385,7 @@ API int pkgmgr_client_usr_activate_app(pkgmgr_client *pc, const char *appid, return PKGMGR_R_EINVAL; } - if (__change_op_cb_for_enable_disable(mpc) < 0) { + if (__change_op_cb_for_enable_disable(mpc, false) < 0) { ERR("__change_op_cb_for_enable_disable failed"); return PKGMGR_R_ESYSTEM; } @@ -1423,7 +1429,7 @@ API int pkgmgr_client_activate_global_app_for_uid(pkgmgr_client *pc, return PKGMGR_R_EINVAL; } - if (__change_op_cb_for_enable_disable(mpc) < 0) { + if (__change_op_cb_for_enable_disable(mpc, false) < 0) { ERR("__change_op_cb_for_enable_disable failed"); return PKGMGR_R_ESYSTEM; } @@ -1463,7 +1469,7 @@ API int pkgmgr_client_usr_deactivate_app(pkgmgr_client *pc, const char *appid, } /* FIXME */ - if (__change_op_cb_for_enable_disable(mpc) < 0) { + if (__change_op_cb_for_enable_disable(mpc, true) < 0) { ERR("__change_op_cb_for_enable_disable failed"); return PKGMGR_R_ESYSTEM; } @@ -1509,7 +1515,7 @@ API int pkgmgr_client_deactivate_global_app_for_uid(pkgmgr_client *pc, return PKGMGR_R_EINVAL; } - if (__change_op_cb_for_enable_disable(mpc) < 0) { + if (__change_op_cb_for_enable_disable(mpc, true) < 0) { ERR("__change_op_cb_for_enable_disable failed"); return PKGMGR_R_ESYSTEM; } @@ -1619,14 +1625,19 @@ API int pkgmgr_client_set_status_type(pkgmgr_client *pc, int status_type) } if ((mpc->status_type & PKGMGR_CLIENT_STATUS_UPGRADE) == PKGMGR_CLIENT_STATUS_UPGRADE) { - ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_UPGRADE, mpc->info.listening.cc, __status_callback, pc); - retvm_if(ret < 0, PKGMGR_R_ECOMM, "COMM_STATUS_BROADCAST_UPGRADE failed - %d", ret); - } - - if ((mpc->status_type & PKGMGR_CLIENT_STATUS_ENABLE_DISABLE_APP) == PKGMGR_CLIENT_STATUS_ENABLE_DISABLE_APP) { - ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_ENABLE_DISABLE_APP, mpc->info.listening.cc, __status_callback, pc); - retvm_if(ret < 0, PKGMGR_R_ECOMM, "COMM_STATUS_BROADCAST_UPGRADE failed - %d", ret); - } + ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_UPGRADE, mpc->info.listening.cc, __status_callback, pc); + retvm_if(ret < 0, PKGMGR_R_ECOMM, "COMM_STATUS_BROADCAST_UPGRADE failed - %d", ret); + } + + if ((mpc->status_type & PKGMGR_CLIENT_STATUS_ENABLE_APP) == PKGMGR_CLIENT_STATUS_ENABLE_APP) { + ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_ENABLE_APP, mpc->info.listening.cc, __status_callback, pc); + retvm_if(ret < 0, PKGMGR_R_ECOMM, "COMM_STATUS_BROADCAST_ENABLE_APP failed - %d", ret); + } + + if ((mpc->status_type & PKGMGR_CLIENT_STATUS_DISABLE_APP) == PKGMGR_CLIENT_STATUS_DISABLE_APP) { + ret = comm_client_set_status_callback(COMM_STATUS_BROADCAST_DISABLE_APP, mpc->info.listening.cc, __status_callback, pc); + retvm_if(ret < 0, PKGMGR_R_ECOMM, "COMM_STATUS_BROADCAST_DISABLE_APP failed - %d", ret); + } return PKGMGR_R_OK; } diff --git a/comm/comm_client_gdbus.c b/comm/comm_client_gdbus.c index a332dd9..dd4bbfe 100644 --- a/comm/comm_client_gdbus.c +++ b/comm/comm_client_gdbus.c @@ -79,8 +79,10 @@ static int __get_signal_type(const char *name) return COMM_STATUS_BROADCAST_UPGRADE; else if (strcmp(name, COMM_STATUS_BROADCAST_EVENT_GET_SIZE) == 0) return COMM_STATUS_BROADCAST_GET_SIZE; - else if (strcmp(name, COMM_STATUS_BROADCAST_EVENT_ENABLE_DISABLE_APP) == 0) - return COMM_STATUS_BROADCAST_ENABLE_DISABLE_APP; + else if (strcmp(name, COMM_STATUS_BROADCAST_EVENT_ENABLE_APP) == 0) + return COMM_STATUS_BROADCAST_ENABLE_APP; + else if (strcmp(name, COMM_STATUS_BROADCAST_EVENT_DISABLE_APP) == 0) + return COMM_STATUS_BROADCAST_DISABLE_APP; else return -1; } diff --git a/comm/comm_config.h b/comm/comm_config.h index 937fa41..1d9454d 100644 --- a/comm/comm_config.h +++ b/comm/comm_config.h @@ -48,7 +48,9 @@ #define COMM_STATUS_BROADCAST_EVENT_INSTALL_PROGRESS "install_progress" #define COMM_STATUS_BROADCAST_EVENT_UPGRADE "upgrade" #define COMM_STATUS_BROADCAST_EVENT_GET_SIZE "get_size" -#define COMM_STATUS_BROADCAST_EVENT_ENABLE_DISABLE_APP "enable_disable_app" +#define COMM_STATUS_BROADCAST_EVENT_ENABLE_APP "enable_app" +#define COMM_STATUS_BROADCAST_EVENT_DISABLE_APP "disable_app" + /******** * enums @@ -98,14 +100,15 @@ enum { /* broadcast type */ enum { - COMM_STATUS_BROADCAST_ALL = 0x7F, + COMM_STATUS_BROADCAST_ALL = 0xFF, COMM_STATUS_BROADCAST_INSTALL = 0x01, COMM_STATUS_BROADCAST_UNINSTALL = 0x02, COMM_STATUS_BROADCAST_MOVE = 0x04, COMM_STATUS_BROADCAST_INSTALL_PROGRESS = 0x08, COMM_STATUS_BROADCAST_UPGRADE = 0x10, COMM_STATUS_BROADCAST_GET_SIZE = 0x20, - COMM_STATUS_BROADCAST_ENABLE_DISABLE_APP = 0x40, + COMM_STATUS_BROADCAST_ENABLE_APP = 0x40, + COMM_STATUS_BROADCAST_DISABLE_APP = 0x80, }; #endif /* __COMM_CONFIG_H__ */ diff --git a/comm/pkgmgr_installer.c b/comm/pkgmgr_installer.c index b474a1a..c110953 100644 --- a/comm/pkgmgr_installer.c +++ b/comm/pkgmgr_installer.c @@ -82,8 +82,10 @@ static const char *__get_signal_name(pkgmgr_installer *pi, const char *key) return COMM_STATUS_BROADCAST_EVENT_UPGRADE; case PKGMGR_REQ_MOVE: return COMM_STATUS_BROADCAST_EVENT_MOVE; - case PKGMGR_REQ_ENABLE_DISABLE_APP: - return COMM_STATUS_BROADCAST_EVENT_ENABLE_DISABLE_APP; + case PKGMGR_REQ_ENABLE_APP: + return COMM_STATUS_BROADCAST_EVENT_ENABLE_APP; + case PKGMGR_REQ_DISABLE_APP: + return COMM_STATUS_BROADCAST_EVENT_DISABLE_APP; } ERR("cannot find type, send signal with type SIGNAL_STATUS"); diff --git a/comm/pkgmgr_installer.h b/comm/pkgmgr_installer.h index 07b02bb..fa2c4e4 100644 --- a/comm/pkgmgr_installer.h +++ b/comm/pkgmgr_installer.h @@ -84,7 +84,8 @@ enum { PKGMGR_REQ_UPGRADE = 8, PKGMGR_REQ_SMACK = 9, PKGMGR_REQ_MANIFEST_DIRECT_INSTALL = 10, - PKGMGR_REQ_ENABLE_DISABLE_APP = 11 + PKGMGR_REQ_ENABLE_APP = 11, + PKGMGR_REQ_DISABLE_APP = 12 }; enum {