*/
int pkgmgr_client_set_debug_mode(pkgmgr_client *pc, bool debug_mode);
+/**
+ * @brief Migrate legacy external image which is generated under 3.0
+ *
+ * This API request the migration of external image.\n
+ *
+ * @param[in] pc The pointer to pkgmgr_client instance
+ * @param[in] pkgid pkg id which have legacy image
+ * @return 0 if success, error code(<0) if fail\n
+ * @retval PKGMGR_R_OK success
+ * @retval PKGMGR_R_EINVAL invalid argument
+ */
+int pkgmgr_client_usr_migrate_external_image(pkgmgr_client *pc, const char *pkgid, uid_t uid);
+
/** @} */
return PKGMGR_R_OK;
}
+
+API int pkgmgr_client_usr_migrate_external_image(pkgmgr_client *pc,
+ const char *pkgid, uid_t uid)
+{
+ GVariant *result;
+ int ret = PKGMGR_R_ECOMM;
+ struct pkgmgr_client_t *client = (struct pkgmgr_client_t *)pc;
+
+ if (pc == NULL) {
+ ERR("invalid parameter");
+ return PKGMGR_R_EINVAL;
+ }
+
+ ret = pkgmgr_client_connection_send_request(client,
+ "migrate_external_image",
+ g_variant_new("(us)", uid, pkgid), &result);
+ if (ret != PKGMGR_R_OK) {
+ ERR("request failed: %d", ret);
+ return ret;
+ }
+
+ g_variant_get(result, "(i)", &ret);
+ g_variant_unref(result);
+
+ return ret;
+}
#define OPTVAL_NO_REMOVAL 1003
#define OPTVAL_KEEP_RWDATA 1004
#define OPTVAL_PARTIAL_RW 1005
+#define OPTVAL_MIGRATE_EXTIMG 1006
/* 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:qG";
{ "no-remove", 0, NULL, OPTVAL_NO_REMOVAL }, /* for preload RW */
{ "keep-rwdata", 0, NULL, OPTVAL_KEEP_RWDATA }, /* for preload RW */
{ "partial-rw", 0, NULL, OPTVAL_PARTIAL_RW }, /* for preload RO */
+ { "migrate-extimg", 1, NULL, OPTVAL_MIGRATE_EXTIMG },
{ 0, 0, 0, 0 } /* sentinel */
};
pi->partial_rw = 1;
DBG("partial-rw request [%d]", pi->partial_rw);
break;
+ case OPTVAL_MIGRATE_EXTIMG:
+ /* request for legacy extimg migration */
+ if (mode) {
+ r = -EINVAL;
+ goto RET;
+ }
+ mode = OPTVAL_MIGRATE_EXTIMG;
+ pi->request_type = PKGMGR_REQ_MIGRATE_EXTIMG;
+ if (pi->pkgmgr_info)
+ free(pi->pkgmgr_info);
+ pi->pkgmgr_info = strndup(optarg, MAX_STRLEN);
+ DBG("legacy extimg migration requested");
+ break;
case 'k': /* session id */
if (pi->session_id)
free(pi->session_id);
PKGMGR_REQ_DISABLE_APP_SPLASH_SCREEN = 14,
PKGMGR_REQ_MOUNT_INSTALL = 15,
PKGMGR_REQ_DISABLE_PKG = 16,
- PKGMGR_REQ_ENABLE_PKG = 17
+ PKGMGR_REQ_ENABLE_PKG = 17,
+ PKGMGR_REQ_MIGRATE_EXTIMG = 18
};
enum {
Name: pkgmgr
Summary: Packager Manager client library package
-Version: 0.2.90
+Version: 0.2.91
Release: 0
Group: Application Framework/Package Management
License: Apache-2.0