return 0;
}
+static int __sync_process(char *req_key)
+{
+ int ret =0;
+ char info_file[PKG_STRING_LEN_MAX] = {'\0', };
+ int result = 0;
+ int check_cnt = 0;
+ FILE *fp;
+ char buffer[PKG_ARGC_MAX] = {'\0', };
+
+ snprintf(info_file, PKG_STRING_LEN_MAX, "%s/%s", PKG_TMP_PATH, req_key);
+ while(1)
+ {
+ check_cnt ++;
+ if (access(info_file, F_OK) != 0) {
+ _LOGD("file is not generated yet.... wait\n", info_file);
+ usleep(10 * 1000); /* 10ms sleep*/
+ } else {
+ fp = fopen(info_file, "r");
+ if (fp == NULL) {
+ _LOGE("fopen failed\n");
+ break;
+ }
+ fread(&buffer, sizeof(buffer), 1, fp);
+ fclose(fp);
+
+ result = atoi(buffer);
+ _LOGD("info_file file is generated, result = %d. \n", result);
+ break;
+ }
+
+ if (check_cnt > 500) { /* 5s time over*/
+ _LOGD("wait time over!!\n");
+ break;
+ }
+ }
+
+ const char *rm_argv[] = { "/bin/rm", "-rf", info_file, NULL };
+ ret = __xsystem(rm_argv);
+ if (ret < 0)
+ _LOGE("__xsystem failed, ret=%d\n", ret);
+
+ return result;
+}
static int __csc_process(const char *csc_path, char *result_path)
{
int ret = 0;
char *temp = NULL;
int i = 0;
char buf[128] = {'\0'};
- char size_info_file[PKG_STRING_LEN_MAX] = {'\0', };
- int pkg_size = 0;
- int check_cnt = 0;
- FILE *fp;
- char buffer[PKG_ARGC_MAX] = {'\0', };
pkgmgr_client_t *mpc = (pkgmgr_client_t *) pc;
retvm_if(mpc->ctype != PC_REQUEST, PKGMGR_R_EINVAL, "mpc->ctype is not PC_REQUEST\n");
}
_LOGD("[args] %s [len] %d\n", args, len);
- /* 6. request install */
+ /* request */
ret = comm_client_request(mpc->info.request.cc, req_key, COMM_REQ_GET_SIZE, pkgtype, pkgid, args, NULL, 1);
-
- snprintf(size_info_file, PKG_STRING_LEN_MAX, "%s/%s", PKG_TMP_PATH, req_key);
- while(1)
- {
- check_cnt ++;
- if (access(size_info_file, F_OK) != 0) {
- _LOGD("file is not generated yet.... wait\n", size_info_file);
- usleep(10 * 1000); /* 10ms sleep*/
- } else {
- _LOGD("size_info_file file is generated!!\n");
-
- fp = fopen(size_info_file, "r");
- if (fp == NULL) {
- _LOGE("fopen failed\n");
- break;
- }
- fread(&buffer, sizeof(buffer), 1, fp);
- fclose(fp);
-
- pkg_size = atoi(buffer);
- _LOGD("pkg_sizepkg_size == > %d!!\n", pkg_size);
-
- break;
- }
-
- if (check_cnt > 500) { /* 5s time over*/
- _LOGD("wait time over!!\n");
- break;
- }
- }
-
- const char *rm_argv[] = { "/bin/rm", "-rf", size_info_file, NULL };
- ret = __xsystem(rm_argv);
if (ret < 0)
- _LOGE("__xsystem failed, ret=%d\n", ret);
+ _LOGE("comm_client_request failed, ret=%d\n", ret);
- ret = pkg_size;
+ ret = __sync_process(req_key);
if (ret < 0)
- _LOGE("request failed, ret=%d\n", ret);
+ _LOGE("get size failed, ret=%d\n", ret);
catch:
for (i = 0; i < argcnt; i++)
installer_path = _get_backend_path_with_type(pkgtype);
req_key = __get_req_key(pkgid);
req_id = _get_request_id();
- __add_op_cbinfo(mpc, req_id, req_key, event_cb, data);
/* generate argv */
snprintf(buf, 128, "%d", move_type);
}
_LOGD("[args] %s [len] %d\n", args, len);
- /* 6. request install */
+ /* 6. request */
ret = comm_client_request(mpc->info.request.cc, req_key, COMM_REQ_TO_MOVER, pkgtype, pkgid, args, NULL, 1);
if (ret < 0)
- _LOGE("request failed, ret=%d\n", ret);
+ _LOGE("comm_client_request failed, ret=%d\n", ret);
+
+ ret = __sync_process(pkgid);
+ if (ret != 0)
+ _LOGE("move pkg failed, ret=%d\n", ret);
catch:
for (i = 0; i < argcnt; i++)
tryvm_if((service_mode < PM_MOVE_TO_INTERNAL) || (service_mode > PM_MOVE_TO_SDCARD), ret = PKGMGR_R_EINVAL, "service_mode is wrong\n");
ret = __move_pkg_process(pc, pkgid, (pkgmgr_move_type)service_mode, event_cb, data);
- if (ret < 0)
- _LOGE("__move_pkg_process fail \n");
- else
- ret = PKGMGR_R_OK;
-
break;
case PM_REQUEST_GET_SIZE:
tryvm_if((service_mode < PM_GET_TOTAL_SIZE) || (service_mode > PM_GET_DATA_SIZE), ret = PKGMGR_R_EINVAL, "service_mode is wrong\n");
ret = __get_size_process(pc, pkgid, (pkgmgr_getsize_type)service_mode, event_cb, data);
- if (ret < 0)
- _LOGE("__get_size_process fail \n");
-
break;
case PM_REQUEST_KILL_APP:
break;
case MOVE_REQ:
- if (data.quiet == 1) {
- if (data.pkg_type[0] == '\0' || data.pkgid[0] == '\0') {
- printf("Please provide the arguments.\n");
- printf("use -h option to see usage\n");
- ret = -1;
- break;
- }
- if (data.type < 0 || data.type > 1) {
- printf("Invalid move type...See usage\n");
- ret = -1;
- break;
- }
- pc = pkgmgr_client_new(PC_REQUEST);
- if (pc == NULL) {
- printf("PkgMgr Client Creation Failed\n");
- ret = -1;
- break;
- }
- mode = PM_QUIET;
- ret = __is_app_installed(data.pkgid);
- if (ret == -1) {
- printf("package is not installed\n");
- break;
- }
- ret = pkgmgr_client_move(pc, data.pkg_type, data.pkgid, data.type, mode);
- if (ret < 0)
- break;
- ret = data.result;
- } else {
- if (data.pkgid[0] == '\0') {
- printf("Please provide the arguments.\n");
- printf("use -h option to see usage\n");
- ret = -1;
- break;
- }
- if (data.type < 0 || data.type > 1) {
- printf("Invalid move type...See usage\n");
- ret = -1;
- break;
- }
- g_type_init();
- main_loop = g_main_loop_new(NULL, FALSE);
- pc = pkgmgr_client_new(PC_REQUEST);
- if (pc == NULL) {
- printf("PkgMgr Client Creation Failed\n");
- ret = -1;
- break;
- }
- ret = __is_app_installed(data.pkgid);
- if (ret == -1) {
- printf("package is not installed\n");
- break;
- }
- ret = pkgmgr_client_request_service(PM_REQUEST_MOVE, data.type, pc, NULL, data.pkgid, NULL, __return_cb, NULL);
- if (ret < 0)
- break;
- g_main_loop_run(main_loop);
- ret = data.result;
+ if (data.pkg_type[0] == '\0' || data.pkgid[0] == '\0') {
+ printf("Please provide the arguments.\n");
+ printf("use -h option to see usage\n");
+ ret = -1;
+ break;
+ }
+ if (data.type < 0 || data.type > 1) {
+ printf("Invalid move type...See usage\n");
+ ret = -1;
+ break;
+ }
+ pc = pkgmgr_client_new(PC_REQUEST);
+ if (pc == NULL) {
+ printf("PkgMgr Client Creation Failed\n");
+ ret = -1;
+ break;
+ }
+ mode = PM_QUIET;
+ ret = __is_app_installed(data.pkgid);
+ if (ret == -1) {
+ printf("package is not installed\n");
+ break;
}
+ if (data.quiet == 0)
+ ret = pkgmgr_client_move(pc, data.pkg_type, data.pkgid, data.type, mode);
+ else
+ ret = pkgmgr_client_request_service(PM_REQUEST_MOVE, data.type, pc, NULL, data.pkgid, NULL, NULL, NULL);
+
+ printf("pkg[%s] move result = %d\n", data.pkgid, ret);
+
+ if (ret < 0)
+ break;
+ ret = data.result;
break;
case APPPATH_REQ:
break;
}
- ret = pkgmgr_client_request_service(PM_REQUEST_GET_SIZE, data.type, pc, NULL, data.pkgid, NULL, __return_cb, NULL);
+ ret = pkgmgr_client_request_service(PM_REQUEST_GET_SIZE, data.type, pc, NULL, data.pkgid, NULL, NULL, NULL);
if (ret < 0){
data.result = PKGCMD_ERR_FATAL_ERROR;
break;