From f1caf26b1f77c588018853f864725081326a4b00 Mon Sep 17 00:00:00 2001 From: Sangyoon Jang Date: Wed, 4 Jan 2017 15:29:13 +0900 Subject: [PATCH] Add clear cache signal Change-Id: Ifaceab310755b7dbb993a95b4da1f6f594256691 Signed-off-by: Sangyoon Jang --- client/include/package-manager.h | 1 + client/src/pkgmgr_client_connection.c | 2 ++ installer/pkgmgr_installer.c | 9 ++++++--- installer/pkgmgr_installer.h | 1 + 4 files changed, 10 insertions(+), 3 deletions(-) diff --git a/client/include/package-manager.h b/client/include/package-manager.h index 7a93e55..f859bd9 100644 --- a/client/include/package-manager.h +++ b/client/include/package-manager.h @@ -114,6 +114,7 @@ extern "C" { #define PKGMGR_CLIENT_STATUS_DISABLE_APP 0x0100 #define PKGMGR_CLIENT_STATUS_ENABLE_APP_SPLASH_SCREEN 0x0200 #define PKGMGR_CLIENT_STATUS_DISABLE_APP_SPLASH_SCREEN 0x0400 +#define PKGMGR_CLIENT_STATUS_CLEAR_CACHE 0x0800 /** @} */ diff --git a/client/src/pkgmgr_client_connection.c b/client/src/pkgmgr_client_connection.c index d7201fb..ff27b4f 100644 --- a/client/src/pkgmgr_client_connection.c +++ b/client/src/pkgmgr_client_connection.c @@ -92,6 +92,8 @@ struct signal_map map[] = { {PKGMGR_INSTALLER_INSTALL_PERCENT_KEY_STR, PKGMGR_CLIENT_STATUS_INSTALL_PROGRESS}, {PKGMGR_INSTALLER_GET_SIZE_KEY_STR, PKGMGR_CLIENT_STATUS_GET_SIZE}, + {PKGMGR_INSTALLER_CLEAR_CACHE_KEY_STR, + PKGMGR_CLIENT_STATUS_CLEAR_CACHE}, {PKGMGR_INSTALLER_APP_ENABLE_EVENT_STR, PKGMGR_CLIENT_STATUS_ENABLE_APP}, {PKGMGR_INSTALLER_APP_DISABLE_EVENT_STR, diff --git a/installer/pkgmgr_installer.c b/installer/pkgmgr_installer.c index dadd55d..bfdd7f5 100644 --- a/installer/pkgmgr_installer.c +++ b/installer/pkgmgr_installer.c @@ -112,7 +112,8 @@ struct pkgmgr_installer { static uid_t g_target_uid; -static const char *__get_signal_name(pkgmgr_installer *pi, const char *key) +static const char *__get_signal_name(pkgmgr_installer *pi, const char *key, + const char *pkg_type) { if (strcmp(key, PKGMGR_INSTALLER_INSTALL_PERCENT_KEY_STR) == 0) return key; @@ -120,6 +121,8 @@ static const char *__get_signal_name(pkgmgr_installer *pi, const char *key) return key; else if (strcmp(key, PKGMGR_INSTALLER_APPID_KEY_STR) == 0) return PKGMGR_INSTALLER_UNINSTALL_EVENT_STR; + else if (strcmp(pkg_type, PKGMGR_INSTALLER_CLEAR_CACHE_KEY_STR) == 0) + return pkg_type; switch (pi->request_type) { case PKGMGR_REQ_INSTALL: @@ -170,7 +173,7 @@ static int __send_signal_for_event(pkgmgr_installer *pi, const char *pkg_type, if (!sid) sid = ""; - name = __get_signal_name(pi, key); + name = __get_signal_name(pi, key, pkg_type); if (name == NULL) { ERR("unknown signal type"); return -1; @@ -248,7 +251,7 @@ static int __send_signal_for_event_for_uid(pkgmgr_installer *pi, uid_t uid, data_len = sizeof(size_t) + sizeof(gsize); - name = __get_signal_name(pi, key); + name = __get_signal_name(pi, key, pkg_type); if (name == NULL) { ERR("unknown signal type"); return -1; diff --git a/installer/pkgmgr_installer.h b/installer/pkgmgr_installer.h index d602940..e634a7c 100644 --- a/installer/pkgmgr_installer.h +++ b/installer/pkgmgr_installer.h @@ -53,6 +53,7 @@ typedef void *pkgmgr_instcertinfo_h; #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_CLEAR_CACHE_KEY_STR "clear_cache" #define PKGMGR_INSTALLER_INSTALL_EVENT_STR "install" #define PKGMGR_INSTALLER_UNINSTALL_EVENT_STR "uninstall" -- 2.34.1