From: jongmyeongko Date: Mon, 21 Nov 2016 11:55:05 +0000 (+0900) Subject: add new installer options for RW prelaod and no removal X-Git-Tag: submit/tizen_3.0/20161124.130849~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fc5798d2cae616fe4bda2043906d99420a11fef8;p=platform%2Fcore%2Fappfw%2Fslp-pkgmgr.git add new installer options for RW prelaod and no removal Change-Id: Ice4b36d2f77b33ce0859a22a1b72a167a680355e Signed-off-by: jongmyeongko --- diff --git a/installer/pkgmgr_installer.c b/installer/pkgmgr_installer.c index b9d8c59..69bc35b 100644 --- a/installer/pkgmgr_installer.c +++ b/installer/pkgmgr_installer.c @@ -54,6 +54,8 @@ #define OPTVAL_PRELOAD 1000 #define OPTVAL_FORCE_REMOVAL 1001 +#define OPTVAL_PRELOAD_RW 1002 +#define OPTVAL_NO_REMOVAL 1003 /* Supported options */ const char *short_opts = "k:l:i:d:c:m:t:o:r:p:s:b:e:M:y:u:w:D:A:q"; @@ -76,6 +78,8 @@ const struct option long_opts[] = { { "recovery", 1, NULL, 'b' }, { "preload", 0, NULL, OPTVAL_PRELOAD }, { "force-remove", 0, NULL, OPTVAL_FORCE_REMOVAL }, + { "preload-rw", 0, NULL, OPTVAL_PRELOAD_RW }, + { "no-remove", 0, NULL, OPTVAL_NO_REMOVAL }, { 0, 0, 0, 0 } /* sentinel */ }; @@ -93,6 +97,8 @@ struct pkgmgr_installer { int is_tep_included; int is_preload; int force_removal; + int is_preload_rw; + int no_removal; GDBusConnection *conn; }; @@ -369,6 +375,14 @@ pkgmgr_installer_receive_request(pkgmgr_installer *pi, pi->force_removal = 1; DBG("force-remove request [%d]", pi->force_removal); break; + case OPTVAL_PRELOAD_RW: /* request for preload-rw app */ + pi->is_preload_rw = 1; + DBG("preload-rw request [%d]", pi->is_preload_rw); + break; + case OPTVAL_NO_REMOVAL: /* request for no-remove */ + pi->no_removal = 1; + DBG("no-remove request [%d]", pi->no_removal); + break; case 'k': /* session id */ if (pi->session_id) free(pi->session_id); @@ -629,6 +643,18 @@ API int pkgmgr_installer_get_force_removal(pkgmgr_installer *pi) return pi->force_removal; } +API int pkgmgr_installer_get_is_preload_rw(pkgmgr_installer *pi) +{ + CHK_PI_RET(PKGMGR_REQ_INVALID); + return pi->is_preload_rw; +} + +API int pkgmgr_installer_get_no_removal(pkgmgr_installer *pi) +{ + CHK_PI_RET(PKGMGR_REQ_INVALID); + return pi->no_removal; +} + API int pkgmgr_installer_send_app_uninstall_signal(pkgmgr_installer *pi, const char *pkg_type, const char *pkgid, diff --git a/installer/pkgmgr_installer.h b/installer/pkgmgr_installer.h index ec3d4b0..a2920b8 100644 --- a/installer/pkgmgr_installer.h +++ b/installer/pkgmgr_installer.h @@ -624,6 +624,7 @@ int main(int argc, char **argv) @endcode */ int pkgmgr_installer_get_is_preload(pkgmgr_installer *pi); +int pkgmgr_installer_get_is_preload_rw(pkgmgr_installer *pi); /** @brief Get if the request is for force-removal @@ -659,6 +660,7 @@ int main(int argc, char **argv) @endcode */ int pkgmgr_installer_get_force_removal(pkgmgr_installer *pi); +int pkgmgr_installer_get_no_removal(pkgmgr_installer *pi); /** @brief Send a app status signal diff --git a/packaging/pkgmgr.spec b/packaging/pkgmgr.spec index adf1725..229a957 100644 --- a/packaging/pkgmgr.spec +++ b/packaging/pkgmgr.spec @@ -2,7 +2,7 @@ Name: pkgmgr Summary: Packager Manager client library package -Version: 0.2.89 +Version: 0.2.90 Release: 0 Group: Application Framework/Package Management License: Apache-2.0