From: Jeon Sang-Heon Date: Mon, 27 Jul 2020 16:16:48 +0000 (+0000) Subject: Change fota storage checker to common X-Git-Tag: submit/tizen/20200807.173049~13 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F09%2F239809%2F2;p=platform%2Fcore%2Fsystem%2Fupdate-control.git Change fota storage checker to common - To setup recovery storage checker, modify fota storage checker to common Change-Id: I2c9c925e05b5552fd2d9456cc4e566616fd30a94 Signed-off-by: Jeon Sang-Heon --- diff --git a/update-manager/common-storage-checker.c b/update-manager/common-storage-checker.c new file mode 100644 index 0000000..ac657a5 --- /dev/null +++ b/update-manager/common-storage-checker.c @@ -0,0 +1,49 @@ +#include "update-manager.h" + +void common_storage_checker_callback(int storage_id, storage_dev_e dev, storage_state_e state, const char *fstype, + const char *fsuuid, const char *mount_path, bool primary, int flags, void *user_data) +{ + switch (state) { + case STORAGE_STATE_UNMOUNTABLE: + case STORAGE_STATE_REMOVED: + case STORAGE_STATE_MOUNTED_READ_ONLY: + _D("Storage %d status : not mounted", storage_id); + break; + case STORAGE_STATE_MOUNTED: + _I("Storage %d status : mounted", storage_id); + fota_storage_checker_process(mount_path); + break; + default: + _E("Unexpected state : %d", state); + } +} + +int common_storage_checker_init() +{ + int ret = 0; + + _I("Start process to get storage status"); + ret = storage_set_changed_cb(STORAGE_TYPE_EXTERNAL, common_storage_checker_callback, NULL); + if (ret == STORAGE_ERROR_NOT_SUPPORTED) { + _I("External storage is not suppported, so local update will not be supported"); + } + else if (ret != STORAGE_ERROR_NONE) { + _E("storage_set_changed_cb failed : %d", ret); + return -1; + } + + return 0; +} + +int common_storage_checker_fini() +{ + int ret = 0; + + ret = storage_unset_changed_cb(STORAGE_TYPE_EXTERNAL, common_storage_checker_callback); + if (ret != STORAGE_ERROR_NONE) { + _W("failed storage_unset_changed_cb : %d", ret); + return -1; + } + + return 0; +} diff --git a/update-manager/fota-storage-checker.c b/update-manager/fota-storage-checker.c index e7c78d4..95bca75 100644 --- a/update-manager/fota-storage-checker.c +++ b/update-manager/fota-storage-checker.c @@ -85,50 +85,3 @@ void fota_storage_checker_process(const char *mount_path) process_destroy: g_free(delta_path); } - -void fota_storage_checker_callback(int storage_id, storage_dev_e dev, storage_state_e state, const char *fstype, - const char *fsuuid, const char *mount_path, bool primary, int flags, void *user_data) -{ - switch (state) { - case STORAGE_STATE_UNMOUNTABLE: - case STORAGE_STATE_REMOVED: - case STORAGE_STATE_MOUNTED_READ_ONLY: - _D("Storage %d status : not mounted", storage_id); - break; - case STORAGE_STATE_MOUNTED: - _I("Storage %d status : mounted", storage_id); - fota_storage_checker_process(mount_path); - break; - default: - _E("Unexpected state : %d", state); - } -} - -int fota_storage_checker_init() -{ - int ret = 0; - - _I("Start process to get storage status"); - ret = storage_set_changed_cb(STORAGE_TYPE_EXTERNAL, fota_storage_checker_callback, NULL); - if (ret == STORAGE_ERROR_NOT_SUPPORTED) { - _I("External storage is not suppported, so local update will not be supported"); - } else if (ret != STORAGE_ERROR_NONE) { - _E("storage_set_changed_cb failed : %d", ret); - return -1; - } - - return 0; -} - -int fota_storage_checker_fini() -{ - int ret = 0; - - ret = storage_unset_changed_cb(STORAGE_TYPE_EXTERNAL, fota_storage_checker_callback); - if (ret != STORAGE_ERROR_NONE) { - _W("failed storage_unset_changed_cb : %d", ret); - return -1; - } - - return 0; -} diff --git a/update-manager/main.c b/update-manager/main.c index 6c959c3..b2390c8 100644 --- a/update-manager/main.c +++ b/update-manager/main.c @@ -24,6 +24,13 @@ int main(int argc, char *argv[]) goto main_destroy; } + /* Common */ + ret = common_storage_checker_init(); + if (ret < 0) { + _E("Failed to initialize common storage checker : %d", ret); + goto main_destroy; + } + /* Fota */ ret = fota_info_checker_init(); if (ret < 0) { @@ -37,12 +44,6 @@ int main(int argc, char *argv[]) goto main_destroy; } - ret = fota_storage_checker_init(); - if (ret < 0) { - _E("Failed to initialize fota storage checker : %d", ret); - goto main_destroy; - } - /* Dbus */ ret = dbus_manager_init(); if (ret < 0) { @@ -62,6 +63,11 @@ main_destroy: if (ret < 0) _W("Failed to finalize client status checker : %d", ret); + /* Common */ + ret = common_storage_checker_fini(); + if (ret < 0) + _W("Failed to finalize common storage checker : %d", ret); + /* Fota */ ret = fota_info_checker_fini(); if (ret < 0) @@ -71,10 +77,6 @@ main_destroy: if (ret < 0) _E("Failed to finalize fota status checker : %d", ret); - ret = fota_storage_checker_fini(); - if (ret < 0) - _W("Failed to finalize fota storage checker : %d", ret); - /* Dbus */ ret = dbus_manager_fini(); if (ret < 0) diff --git a/update-manager/update-manager.h b/update-manager/update-manager.h index 380d663..3def421 100644 --- a/update-manager/update-manager.h +++ b/update-manager/update-manager.h @@ -84,6 +84,9 @@ bool client_status_checker_is_success(void); int client_controller_process_launch_request(void); int client_controller_add_launch_request_with_data(char *, char *); +int common_storage_checker_init(void); +int common_storage_checker_fini(void); + int dbus_manager_init(void); int dbus_manager_fini(void); @@ -92,9 +95,6 @@ int fota_info_checker_fini(void); char *fota_info_get_build_id(void); char *fota_info_get_platform_version(void); -int fota_storage_checker_init(void); -int fota_storage_checker_fini(void); - int fota_status_checker_init(void); int fota_status_checker_fini(void); char *fota_status_get_result(void); @@ -103,6 +103,8 @@ int fota_controller_verify_delta(const char *); int fota_controller_install(void); int fota_controller_result(void); +void fota_storage_checker_process(const char *); + int util_file_mkdir(const char *); int util_file_read_line(const char *, char []); int util_file_write_line(const char *, const char *);