From: Sangyoon Jang Date: Tue, 22 Sep 2015 06:04:34 +0000 (+0900) Subject: Revise pkgmgr_installer_send_signal X-Git-Tag: submit/tizen/20150924.065914~3 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=41590a19cb0496d6c053cfde8d383b92b4b51edd;p=platform%2Fcore%2Fappfw%2Fslp-pkgmgr.git Revise pkgmgr_installer_send_signal fix PKGMGR_INSTALLER_UPGRADE_EVENT_STR to "update" add PKGMGR_INSTALLER_APPID_KEY_STR add PKGMGR_INSTALLER_ERROR_KEY_STR Change-Id: Ie09e07c704645c75be446278f9bd28dd741f2ce1 Signed-off-by: Sangyoon Jang --- diff --git a/comm/pkgmgr_installer.c b/comm/pkgmgr_installer.c index d361816..ac67c58 100644 --- a/comm/pkgmgr_installer.c +++ b/comm/pkgmgr_installer.c @@ -61,32 +61,33 @@ struct pkgmgr_installer { GDBusConnection *conn; }; -static const char *__get_signal_name(int status_type) +static const char *__get_signal_name(pkgmgr_installer *pi, const char *key) { - switch (status_type) { - case COMM_STATUS_BROADCAST_ALL: - return COMM_STATUS_BROADCAST_SIGNAL_STATUS; - case COMM_STATUS_BROADCAST_INSTALL: + if (strcmp(key, PKGMGR_INSTALLER_INSTALL_PERCENT_KEY_STR) == 0) + return COMM_STATUS_BROADCAST_EVENT_INSTALL_PROGRESS; + else if (strcmp(key, PKGMGR_INSTALLER_GET_SIZE_KEY_STR) == 0) + return COMM_STATUS_BROADCAST_EVENT_GET_SIZE; + else if (strcmp(key, PKGMGR_INSTALLER_APPID_KEY_STR) == 0) + return COMM_STATUS_BROADCAST_EVENT_UNINSTALL; + + switch (pi->request_type) { + case PKGMGR_REQ_INSTALL: return COMM_STATUS_BROADCAST_EVENT_INSTALL; - case COMM_STATUS_BROADCAST_UNINSTALL: + case PKGMGR_REQ_UNINSTALL: return COMM_STATUS_BROADCAST_EVENT_UNINSTALL; - case COMM_STATUS_BROADCAST_MOVE: - return COMM_STATUS_BROADCAST_EVENT_MOVE; - case COMM_STATUS_BROADCAST_INSTALL_PROGRESS: - return COMM_STATUS_BROADCAST_EVENT_INSTALL_PROGRESS; - case COMM_STATUS_BROADCAST_UPGRADE: + case PKGMGR_REQ_UPGRADE: return COMM_STATUS_BROADCAST_EVENT_UPGRADE; - case COMM_STATUS_BROADCAST_GET_SIZE: - return COMM_STATUS_BROADCAST_EVENT_GET_SIZE; - default: - return NULL; + case PKGMGR_REQ_MOVE: + return COMM_STATUS_BROADCAST_EVENT_MOVE; } + + ERR("cannot find type, send signal with type SIGNAL_STATUS"); + + return COMM_STATUS_BROADCAST_SIGNAL_STATUS; } -static int __send_signal_for_event(int comm_status_type, pkgmgr_installer *pi, - const char *pkg_type, - const char *pkgid, - const char *key, const char *val) +static int __send_signal_for_event(pkgmgr_installer *pi, const char *pkg_type, + const char *pkgid, const char *key, const char *val) { char *sid; const char *name; @@ -99,7 +100,7 @@ static int __send_signal_for_event(int comm_status_type, pkgmgr_installer *pi, if (!sid) sid = ""; - name = __get_signal_name(comm_status_type); + name = __get_signal_name(pi, key); if (name == NULL) { ERR("unknown signal type"); return -1; @@ -119,38 +120,6 @@ static int __send_signal_for_event(int comm_status_type, pkgmgr_installer *pi, return 0; } -API int __send_event(pkgmgr_installer *pi, - const char *pkg_type, - const char *pkgid, - const char *key, const char *val) -{ - int r = -1; - - if (strcmp(key,PKGMGR_INSTALLER_START_KEY_STR) == 0) { - if(strcmp(key,PKGMGR_INSTALLER_UPGRADE_EVENT_STR) == 0) { - pi->request_type = PKGMGR_REQ_UPGRADE; - r = __send_signal_for_event(COMM_STATUS_BROADCAST_UPGRADE, pi, pkg_type, pkgid, key, val); - } - if(pi->request_type == PKGMGR_REQ_INSTALL) { - r = __send_signal_for_event(COMM_STATUS_BROADCAST_INSTALL, pi, pkg_type, pkgid, key, val); - } else if (pi->request_type == PKGMGR_REQ_UNINSTALL){ - r = __send_signal_for_event(COMM_STATUS_BROADCAST_UNINSTALL, pi, pkg_type, pkgid, key, val); - } - } else if (strcmp(key,PKGMGR_INSTALLER_END_KEY_STR) == 0) { - if(pi->request_type == PKGMGR_REQ_INSTALL) { - r = __send_signal_for_event(COMM_STATUS_BROADCAST_INSTALL, pi, pkg_type, pkgid, key, val); - } else if (pi->request_type == PKGMGR_REQ_UNINSTALL){ - r = __send_signal_for_event(COMM_STATUS_BROADCAST_UNINSTALL, pi, pkg_type, pkgid, key, val); - } else if (pi->request_type == PKGMGR_REQ_UPGRADE){ - r = __send_signal_for_event(COMM_STATUS_BROADCAST_UPGRADE, pi, pkg_type, pkgid, key, val); - } - } else if (strcmp(key,PKGMGR_INSTALLER_INSTALL_PERCENT_KEY_STR) == 0) { - r = __send_signal_for_event(COMM_STATUS_BROADCAST_INSTALL_PROGRESS, pi, pkg_type, pkgid, key, val); - } - - return r; -} - API pkgmgr_installer *pkgmgr_installer_new(void) { pkgmgr_installer *pi; @@ -386,7 +355,8 @@ API int pkgmgr_installer_send_app_uninstall_signal(pkgmgr_installer *pi, { int ret = -1; - ret = __send_signal_for_event(COMM_STATUS_BROADCAST_UNINSTALL, pi, pkg_type, pkgid, "appid", val); + ret = __send_signal_for_event(pi, pkg_type, pkgid, + PKGMGR_INSTALLER_APPID_KEY_STR, val); return ret; } @@ -404,16 +374,16 @@ pkgmgr_installer_send_signal(pkgmgr_installer *pi, return -1; } - if (strcmp(pkg_type,PKGMGR_INSTALLER_GET_SIZE_KEY_STR) == 0) { - r = __send_signal_for_event(COMM_STATUS_BROADCAST_GET_SIZE, pi, pkg_type, pkgid, key, val); - return r; - } - sid = pi->session_id; - if (!sid) + if (!sid) { + ERR("session id is NULL, set empty string"); sid = ""; + } + + if (strcmp(key, PKGMGR_INSTALLER_UPGRADE_EVENT_STR) == 0) + pi->request_type = PKGMGR_REQ_UPGRADE; - r = __send_event(pi, pkg_type, pkgid, key, val); + r = __send_signal_for_event(pi, pkg_type, pkgid, key, val); return r; } diff --git a/comm/pkgmgr_installer.h b/comm/pkgmgr_installer.h index 84e9a9d..666e9f6 100644 --- a/comm/pkgmgr_installer.h +++ b/comm/pkgmgr_installer.h @@ -47,17 +47,19 @@ typedef void* pkgmgr_instcertinfo_h; /** * @brief listening event type in pkgmgr. */ -#define PKGMGR_INSTALLER_START_KEY_STR "start" -#define PKGMGR_INSTALLER_END_KEY_STR "end" -#define PKGMGR_INSTALLER_INSTALL_PERCENT_KEY_STR "install_percent" -#define PKGMGR_INSTALLER_GET_SIZE_KEY_STR "get_size" - -#define PKGMGR_INSTALLER_INSTALL_EVENT_STR "install" -#define PKGMGR_INSTALLER_UNINSTALL_EVENT_STR "uninstall" -#define PKGMGR_INSTALLER_MOVE_EVENT_STR "move" -#define PKGMGR_INSTALLER_UPGRADE_EVENT_STR "upgrade" -#define PKGMGR_INSTALLER_OK_EVENT_STR "ok" -#define PKGMGR_INSTALLER_FAIL_EVENT_STR "fail" +#define PKGMGR_INSTALLER_START_KEY_STR "start" +#define PKGMGR_INSTALLER_END_KEY_STR "end" +#define PKGMGR_INSTALLER_ERROR_KEY_STR "error" +#define PKGMGR_INSTALLER_APPID_KEY_STR "appid" +#define PKGMGR_INSTALLER_INSTALL_PERCENT_KEY_STR "install_percent" +#define PKGMGR_INSTALLER_GET_SIZE_KEY_STR "get_size" + +#define PKGMGR_INSTALLER_INSTALL_EVENT_STR "install" +#define PKGMGR_INSTALLER_UNINSTALL_EVENT_STR "uninstall" +#define PKGMGR_INSTALLER_MOVE_EVENT_STR "move" +#define PKGMGR_INSTALLER_UPGRADE_EVENT_STR "update" +#define PKGMGR_INSTALLER_OK_EVENT_STR "ok" +#define PKGMGR_INSTALLER_FAIL_EVENT_STR "fail"