Add clear cache signal 50/108350/2
authorSangyoon Jang <s89.jang@samsung.com>
Wed, 4 Jan 2017 06:29:13 +0000 (15:29 +0900)
committerSangyoon Jang <s89.jang@samsung.com>
Wed, 4 Jan 2017 06:55:04 +0000 (15:55 +0900)
Change-Id: Ifaceab310755b7dbb993a95b4da1f6f594256691
Signed-off-by: Sangyoon Jang <s89.jang@samsung.com>
client/include/package-manager.h
client/src/pkgmgr_client_connection.c
installer/pkgmgr_installer.c
installer/pkgmgr_installer.h

index 7a93e55..f859bd9 100644 (file)
@@ -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
 
 /** @} */
 
index d7201fb..ff27b4f 100644 (file)
@@ -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,
index dadd55d..bfdd7f5 100644 (file)
@@ -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;
index d602940..e634a7c 100644 (file)
@@ -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"