diff options
author | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-16 01:18:13 +0900 |
---|---|---|
committer | Jinkun Jang <jinkun.jang@samsung.com> | 2013-03-16 01:18:13 +0900 |
commit | 2928ee51d097094087c5a6445bea90840f6f1db6 (patch) | |
tree | 2322cd9266510a98abd61e1a8d7fb9f593665eff /src/agent/service-engine | |
parent | d6aa47559c38d7e20d6d6a7a3671fa48ed58b9eb (diff) | |
download | oma-ds-agent-2928ee51d097094087c5a6445bea90840f6f1db6.tar.gz oma-ds-agent-2928ee51d097094087c5a6445bea90840f6f1db6.tar.bz2 oma-ds-agent-2928ee51d097094087c5a6445bea90840f6f1db6.zip |
merge with master
Diffstat (limited to 'src/agent/service-engine')
-rwxr-xr-x | src/agent/service-engine/se_account.c | 287 | ||||
-rwxr-xr-x | src/agent/service-engine/se_notification.c | 10 | ||||
-rwxr-xr-x | src/agent/service-engine/se_storage.c | 249 | ||||
-rwxr-xr-x | src/agent/service-engine/se_sync.c | 128 |
4 files changed, 622 insertions, 52 deletions
diff --git a/src/agent/service-engine/se_account.c b/src/agent/service-engine/se_account.c index 803f9d3..b1608d8 100755 --- a/src/agent/service-engine/se_account.c +++ b/src/agent/service-engine/se_account.c @@ -56,6 +56,11 @@ static datastore_cp_info predefinedServer[] = { {"Everdroid", 1} }; +static char * _convert_to_sync_mode_str(int sync_mode); +static char * _convert_to_sync_type_str(int sync_type); +static char * _convert_to_interval_str(int interval); +static char * _convert_to_src_uri_str(int src_uri); + static se_error_type_e _add_profile(char *addr, char *id, char *password, char *access_name, int *account_id); static se_error_type_e _set_profile_info(int account_id, char *profile_name, char *sync_mode, char *sync_type, char *interval); static se_error_type_e _set_profile_category(int account_id, sync_service_s * category); @@ -69,6 +74,145 @@ static se_error_type_e _set_profile_category_info_cp(int account_id, int content static se_error_type_e __set_profile_category_info_into_cofnig_list(int account_id, int content_type, int enabled, char *src_uri, char *tgt_uri, char *id, char *password, GList ** config_list); static se_error_type_e ___append_config_value(int account_id, char *key, char *value, char *type, char *access_name, GList ** list); +static char * _convert_to_sync_mode_str(int sync_mode) +{ + _INNER_FUNC_ENTER; + + _DEBUG_INFO("sync_mode: [%d]",sync_mode); + char *sync_mode_str = NULL; + + switch (sync_mode) { + case MODE_MANUAL: + sync_mode_str = DEFINE_SYNC_MODE_MANUAL; + break; + case MODE_PERIODIC: + sync_mode_str = DEFINE_SYNC_MODE_PERIODIC; + break; + case MODE_PUSH: + sync_mode_str = DEFINE_SYNC_MODE_PUSH; + break; + default: + _DEBUG_ERROR("sync_mode is invalid!!"); + break; + } + + _DEBUG_INFO("sync_mode_str: [%s]",sync_mode_str); + + _INNER_FUNC_EXIT; + return sync_mode_str; +} + +static char * _convert_to_sync_type_str(int sync_type) +{ + _INNER_FUNC_ENTER; + char *sync_type_str = NULL; + + _DEBUG_INFO("sync_type: [%d]",sync_type); + + switch (sync_type) { + case SYNC_TYPE_FULL_SYNC: + sync_type_str = DEFINE_ALERT_SLOW_SYNC_STR; + break; + case SYNC_TYPE_UPDATE_BOTH: + sync_type_str = DEFINE_ALERT_TWO_WAY_STR; + break; + case SYNC_TYPE_UPDATE_TO_SERVER: + sync_type_str = DEFINE_ALERT_ONE_WAY_FROM_CLIENT_STR; + break; + case SYNC_TYPE_UPDATE_TO_PHONE: + sync_type_str = DEFINE_ALERT_ONE_WAY_FROM_SERVER_STR; + break; + case SYNC_TYPE_REFRESH_FROM_SERVER: + sync_type_str = DEFINE_ALERT_REFRESH_FROM_SERVER_STR; + break; + case SYNC_TYPE_REFRESH_FROM_PHONE: + sync_type_str = DEFINE_ALERT_REFRESH_FROM_CLIENT_STR; + break; + default: + _DEBUG_ERROR("sync_type is invalid!!"); + sync_type_str = DEFINE_ALERT_UNKNOWN_STR; + break; + } + + _DEBUG_INFO("sync_type_str: [%s]",sync_type_str); + + _INNER_FUNC_EXIT; + return sync_type_str; +} + +static char * _convert_to_interval_str(int interval) +{ + _INNER_FUNC_ENTER; + char *interval_str = NULL; + + _DEBUG_INFO("interval: [%d]",interval); + + switch (interval) { + case SYNC_INTERVAL_5_MINUTES: + interval_str = DEFINE_SYNC_INTERVAL_5_MINUTES_STR; + break; + case SYNC_INTERVAL_15_MINUTES: + interval_str = DEFINE_SYNC_INTERVAL_15_MINUTES_STR; + break; + case SYNC_INTERVAL_1_HOUR: + interval_str = DEFINE_SYNC_INTERVAL_1_HOUR_STR; + break; + case SYNC_INTERVAL_4_HOURS: + interval_str = DEFINE_SYNC_INTERVAL_4_HOURS_STR; + break; + case SYNC_INTERVAL_12_HOURS: + interval_str = DEFINE_SYNC_INTERVAL_12_HOURS_STR; + break; + case SYNC_INTERVAL_1_DAY: + interval_str = DEFINE_SYNC_INTERVAL_1_DAY_STR; + break; + case SYNC_INTERVAL_1_WEEK: + interval_str = DEFINE_SYNC_INTERVAL_1_WEEK_STR; + break; + case SYNC_INTERVAL_1_MONTH: + interval_str = DEFINE_SYNC_INTERVAL_1_MONTH_STR; + break; + default: + _DEBUG_ERROR("interval is invalid!!"); + break; + } + + _DEBUG_INFO("interval_str: [%s]",interval_str); + + _INNER_FUNC_EXIT; + return interval_str; +} + +static char * _convert_to_src_uri_str(int src_uri) +{ + _INNER_FUNC_ENTER; + char* src_uri_str = NULL; + + _DEBUG_INFO("src_uri: [%d]",src_uri); + + switch (src_uri) { + case SRC_URI_CONTACT: + src_uri_str = DEFINE_SOURCE_CONTACT_URI; + break; + case SRC_URI_CALENDAR: + src_uri_str = DEFINE_SOURCE_CALENDAR_URI; + break; + case SRC_URI_MEMO: + src_uri_str = DEFINE_SOURCE_MEMO_URI; + break; + case SRC_URI_CALLLOG: + src_uri_str = DEFINE_SOURCE_CALLLOG_URI; + break; + default: + _DEBUG_ERROR("src_uri is invalid!!"); + break; + } + _DEBUG_INFO("src_uri_str: [%s]", src_uri_str); + + _INNER_FUNC_EXIT; + return src_uri_str; +} + static se_error_type_e _add_profile(char *addr, char *id, char *password, char *access_name, int *account_id) { _INNER_FUNC_ENTER; @@ -353,7 +497,7 @@ static se_error_type_e _set_profile_category(int account_id, sync_service_s * ca _DEBUG_TRACE("category->content_type : %d", category->service_type); _DEBUG_TRACE("category->enabled : %d", category->enabled); - _DEBUG_TRACE("category->src_uri : %s", category->src_uri); + _DEBUG_TRACE("category->src_uri : %d", category->src_uri); _DEBUG_TRACE("category->tgt_uri : %s", category->tgt_uri); _DEBUG_TRACE("category->id : %s", category->id); _DEBUG_TRACE("category->password : %s", category->password); @@ -366,6 +510,7 @@ static se_error_type_e _set_profile_category(int account_id, sync_service_s * ca char datastore_source[128]; char datastore_id[128]; char datastore_pw[128]; + char *src_uri_str = NULL; if (category->service_type == TYPE_CONTACT) datastore = DEFINE_CONFIG_KEY_PROFILE_CATEGORY_CONTACTS; @@ -388,12 +533,19 @@ static se_error_type_e _set_profile_category(int account_id, sync_service_s * ca goto error; } - result = set_config_str(account_id, datastore_source, category->src_uri, "string", "SE"); + src_uri_str = _convert_to_src_uri_str(category->src_uri); + if (src_uri_str == NULL){ + _DEBUG_ERROR("failed in _convert_to_src_uri_str"); + goto error; + } + + result = set_config_str(account_id, datastore_source, src_uri_str, "string", "SE"); if (result == false) { _DEBUG_ERROR("failed in set_config"); err = SE_INTERNAL_DA_ERROR; goto error; } + _DEBUG_INFO("src_uri_str: [%s]",src_uri_str); result = set_config_str(account_id, datastore_target, category->tgt_uri, "string", "SE"); if (result == false) { @@ -426,6 +578,7 @@ static se_error_type_e _set_profile_category(int account_id, sync_service_s * ca static se_error_type_e _set_periodic_sync_config(int account_id, char *sync_mode, char *interval) { _INNER_FUNC_ENTER; + _DEBUG_TRACE("account_id = %d", account_id); _DEBUG_TRACE("sync_mode = %s", sync_mode); se_error_type_e err = SE_INTERNAL_OK; @@ -460,14 +613,14 @@ static se_error_type_e _set_periodic_sync_config(int account_id, char *sync_mode } if (strcmp(sync_mode, DEFINE_SYNC_MODE_PERIODIC) == 0 && interval != NULL) { - +/* result = set_config_str(account_id, DEFINE_CONFIG_KEY_PROFILE_CLIENT_SYNC_TYPE, DEFINE_ALERT_TWO_WAY_STR, "string", "SE"); if (result == false) { _DEBUG_ERROR("failed in set_config"); err = SE_INTERNAL_DA_ERROR; goto error; } - +*/ int week[] = { DAY_SUN, DAY_MON, DAY_TUE, DAY_WED, DAY_THU, DAY_FRI, DAY_SAT }; time_t current_time; struct tm *struct_time; @@ -510,6 +663,10 @@ static se_error_type_e _set_periodic_sync_config(int account_id, char *sync_mode _DEBUG_TRACE("1 week"); alarm_info->repeat_type = REPEAT_WEEKLY; alarm_info->repeat_value = week[struct_time->tm_wday]; + } else if (strcmp(interval, "1 month") == 0) { + _DEBUG_TRACE("1 month"); + alarm_info->repeat_type = REPEAT;//REPEAT_MONTHLY; + alarm_info->repeat_value = (((24 * 60) * 60) * 30 ); } scheduler_err = sync_agent_add_service_data(1, alarm_info, &alarm_id); @@ -538,14 +695,19 @@ static se_error_type_e _set_periodic_sync_config(int account_id, char *sync_mode error: - if (value != NULL) + if (value != NULL) { free(value); + value = NULL; + } if (alarm_info != NULL) { - if (alarm_info->start_alarm_time != NULL) + if (alarm_info->start_alarm_time != NULL) { free(alarm_info->start_alarm_time); + alarm_info->start_alarm_time = NULL; + } free(alarm_info); + alarm_info = NULL; } _INNER_FUNC_EXIT; @@ -670,12 +832,20 @@ static se_error_type_e _set_profile_category_info(int account_id, sync_service_s retvm_if(category == NULL, SE_INTERNAL_NOT_DEFINED, "category is NULL"); se_error_type_e err = SE_INTERNAL_OK; - err = __set_profile_category_info_into_cofnig_list(account_id, category->service_type, category->enabled, category->src_uri, category->tgt_uri, category->id, category->password, config_list); + char *src_uri_str = NULL; + + src_uri_str = _convert_to_src_uri_str(category->src_uri); + if (src_uri_str == NULL) { + _DEBUG_ERROR("failed in _convert_to_src_uri_str"); + goto error; + } + + err = __set_profile_category_info_into_cofnig_list(account_id, category->service_type, category->enabled, src_uri_str, category->tgt_uri, category->id, category->password, config_list); if (err != SE_INTERNAL_OK) { _DEBUG_ERROR("failed in _set_profile_category_info_into_cofnig_list"); goto error; } - + _DEBUG_INFO("src_uri_str: [%s]",src_uri_str); error: _INNER_FUNC_EXIT; @@ -1016,6 +1186,7 @@ static se_error_type_e _get_empty_profile_dir_name(char **empty_profile_dir_name char profileIndex[2]; int index; int i; + int cnt = 0; sync_agent_acc_error_e acc_err = SYNC_AGENT_ACC_SUCCESS; sync_agent_fw_account_s *fw_account = NULL; @@ -1031,6 +1202,9 @@ static se_error_type_e _get_empty_profile_dir_name(char **empty_profile_dir_name goto error; } + cnt = g_list_length(account_info_list); + _DEBUG_INFO("account_info_list , length = %d", cnt); + for (iter = account_info_list; iter != NULL; iter = g_list_next(iter)) { fw_account = (sync_agent_fw_account_s *) iter->data; @@ -1039,6 +1213,7 @@ static se_error_type_e _get_empty_profile_dir_name(char **empty_profile_dir_name profileDirName = NULL; } + _DEBUG_INFO("fw_account->account_id = %d", fw_account->account_id); result = get_config(fw_account->account_id, DEFINE_CONFIG_KEY_PROFILE_DIR_NAME, &profileDirName); if (result == false) { _DEBUG_ERROR("failed in get_Config"); @@ -1075,7 +1250,7 @@ static se_error_type_e _get_empty_profile_dir_name(char **empty_profile_dir_name return err; } -bool add_profile(char *profile_dir_name, char *profile_name, char *addr, char *id, char *password, char *sync_mode, char *sync_type, char *interval, GList * categories, int *account_id) +bool add_profile(char *profile_name, char *addr, char *id, char *password, int sync_mode, int sync_type, int interval, GList * categories, int *account_id) { _EXTERN_FUNC_ENTER; @@ -1083,13 +1258,17 @@ bool add_profile(char *profile_dir_name, char *profile_name, char *addr, char *i _DEBUG_INFO("addr = %s", addr); _DEBUG_INFO("id = %s", id); _DEBUG_INFO("password = %s", password); - _DEBUG_INFO("sync_mode = %s", sync_mode); - _DEBUG_INFO("sync_type = %s", sync_type); - _DEBUG_INFO("interval = %s", interval); + _DEBUG_INFO("sync_mode = %d", sync_mode); + _DEBUG_INFO("sync_type = %d", sync_type); + _DEBUG_INFO("interval = %d", interval); se_error_type_e err = SE_INTERNAL_OK; int account = -1; GList *config_list = NULL; + char *profile_dir_name = NULL; + char * sync_mode_str = NULL; + char * sync_type_str = NULL; + char * interval_str = NULL; sync_agent_da_return_e da_err = sync_agent_open_agent(); if (da_err != SYNC_AGENT_DA_SUCCESS) { @@ -1097,25 +1276,68 @@ bool add_profile(char *profile_dir_name, char *profile_name, char *addr, char *i goto error; } + // Assign profile_dir_name + err = _get_empty_profile_dir_name(&profile_dir_name); + if (err != SE_INTERNAL_OK) { + _DEBUG_ERROR("failed in _get_empty_profileDirName"); + goto error; + } + + if (profile_dir_name == NULL) { + _DEBUG_ERROR("Maximum profiles count is %d, no more profile", MAXIMUM_ACCOUNT_COUNT); + err = SE_INTERNAL_ERROR; + goto error; + } + _DEBUG_INFO("profile_dir_name[%s]", profile_dir_name); + err = _add_profile(addr, id, password, "SE", &account); if (err != SE_INTERNAL_OK) { - _DEBUG_ERROR("failed in add_Account"); + _DEBUG_ERROR("failed in _add_profile"); goto error; } - err = _set_profile_info_into_config_list(account, profile_dir_name, addr, profile_name, sync_mode, sync_type, interval, NULL, NULL, &config_list); + sync_mode_str = _convert_to_sync_mode_str(sync_mode); + if (sync_mode_str == NULL) { + _DEBUG_ERROR("_convert_to_sync_mode_str failed!!"); + err = SE_INTERNAL_ERROR; + goto error; + } + + sync_type_str = _convert_to_sync_type_str(sync_type); + if (sync_type_str == NULL) { + _DEBUG_ERROR("_convert_to_sync_type_str failed!!"); + err = SE_INTERNAL_ERROR; + goto error; + } + + interval_str = _convert_to_interval_str(interval); + if (interval_str == NULL) { + _DEBUG_ERROR("_convert_to_interval_str failed!!"); + err = SE_INTERNAL_ERROR; + goto error; + } + + _DEBUG_INFO("sync_mode_str : [%s]", sync_mode_str); + _DEBUG_INFO("sync_type_str : [%s]", sync_type_str); + _DEBUG_INFO("interval_str : [%s]", interval_str); + + err = _set_profile_info_into_config_list(account, profile_dir_name, addr, profile_name, sync_mode_str, sync_type_str, interval_str, NULL, NULL, &config_list); if (err != SE_INTERNAL_OK) { - _DEBUG_ERROR("failed in add_Account"); + _DEBUG_ERROR("_set_profile_info_into_config_list failed!!"); goto error; } + int cnt = 0; + cnt = g_list_length(categories); + _DEBUG_INFO("categories length : [%d]", cnt); + sync_service_s *category = NULL; GList *iter = NULL; for (iter = categories; iter != NULL; iter = g_list_next(iter)) { category = iter->data; err = _set_profile_category_info(account, category, &config_list); if (err != SE_INTERNAL_OK) { - _DEBUG_ERROR("failed in __set_profile_category"); + _DEBUG_ERROR("failed in _set_profile_category_info"); goto error; } } @@ -1123,10 +1345,11 @@ bool add_profile(char *profile_dir_name, char *profile_name, char *addr, char *i da_err = sync_agent_add_config_list(config_list); if (da_err != SYNC_AGENT_DA_SUCCESS) { err = SE_INTERNAL_DA_ERROR; + _DEBUG_ERROR("failed in sync_agent_add_config_list"); goto error; } - err = _set_periodic_sync_config(account, sync_mode, interval); + err = _set_periodic_sync_config(account, sync_mode_str, interval_str); if (err != SE_INTERNAL_OK) { _DEBUG_ERROR("failed in _set_periodic_sync_config"); goto error; @@ -1445,7 +1668,7 @@ bool add_profile_dive(int *account_id) return true; } -bool edit_profile(int account_id, char *profile_name, char *addr, char *id, char *password, char *sync_mode, char *sync_type, char *interval, GList * categories) +bool edit_profile(int account_id, char *profile_name, char *addr, char *id, char *password, int sync_mode, int sync_type, int interval, GList * categories) { _EXTERN_FUNC_ENTER; @@ -1453,6 +1676,9 @@ bool edit_profile(int account_id, char *profile_name, char *addr, char *id, char sync_agent_acc_error_e acc_err = SYNC_AGENT_ACC_SUCCESS; sync_agent_fw_account_s *fw_account = NULL; bool result; + char* sync_mode_str = NULL; + char* sync_type_str = NULL; + char* interval_str = NULL; sync_agent_da_return_e da_err = sync_agent_open_agent(); if (da_err != SYNC_AGENT_DA_SUCCESS) { @@ -1485,13 +1711,34 @@ bool edit_profile(int account_id, char *profile_name, char *addr, char *id, char goto error; } - err = _set_profile_info(account_id, profile_name, sync_mode, sync_type, interval); + sync_mode_str = _convert_to_sync_mode_str(sync_mode); + if (sync_mode_str == NULL) { + _DEBUG_ERROR("_convert_to_sync_mode_str failed!!"); + err = SE_INTERNAL_DA_ERROR; + goto error; + } + + sync_type_str = _convert_to_sync_type_str(sync_type); + if (sync_type_str == NULL) { + _DEBUG_ERROR("_convert_to_sync_type_str failed!!"); + err = SE_INTERNAL_DA_ERROR; + goto error; + } + + interval_str = _convert_to_interval_str(interval); + if (interval_str == NULL) { + _DEBUG_ERROR("_convert_to_interval_str failed!!"); + err = SE_INTERNAL_DA_ERROR; + goto error; + } + + err = _set_profile_info(account_id, profile_name, sync_mode_str, sync_type_str, interval_str); if (err != SE_INTERNAL_OK) { _DEBUG_ERROR("failed in __set_profile_info"); goto error; } - err = _set_periodic_sync_config(account_id, sync_mode, interval); + err = _set_periodic_sync_config(account_id, sync_mode_str, interval_str); if (err != SE_INTERNAL_OK) { _DEBUG_ERROR("failed in __set_profile_info"); goto error; diff --git a/src/agent/service-engine/se_notification.c b/src/agent/service-engine/se_notification.c index 1fdf1c5..6a22701 100755 --- a/src/agent/service-engine/se_notification.c +++ b/src/agent/service-engine/se_notification.c @@ -36,7 +36,7 @@ #define NOTI_KEY "OMADS" #define OMA_DS_UI_PKG "ug-setting-synchronise-efl" -se_error_type_e send_noti_session_process(char *profile, char *sync_type, char *progress, char *error) +se_error_type_e send_noti_session_process(char *profile, int sync_type, char *progress, char *error) { _EXTERN_FUNC_ENTER; @@ -59,7 +59,7 @@ se_error_type_e send_noti_session_process(char *profile, char *sync_type, char * } sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile); - sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_type); + sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &sync_type); sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)progress); sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)error); @@ -81,7 +81,7 @@ se_error_type_e send_noti_session_process(char *profile, char *sync_type, char * return err; } -se_error_type_e send_noti_process_update(char *profile_dir_name, char *sync_type, char *uri, char *progress_status, char *operation_type, int is_from_server, int total_per_operation, int synced_per_operation, int total_per_db, int synced_per_db) +se_error_type_e send_noti_process_update(char *profile_dir_name, int sync_type, int uri, char *progress_status, char *operation_type, int is_from_server, int total_per_operation, int synced_per_operation, int total_per_db, int synced_per_db) { _EXTERN_FUNC_ENTER; @@ -104,8 +104,8 @@ se_error_type_e send_noti_process_update(char *profile_dir_name, char *sync_type } sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_dir_name); - sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)sync_type); - sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)uri); + sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &sync_type); + sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &uri); sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)progress_status); sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)operation_type); sync_agent_append_event_data_param(noti, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &is_from_server); diff --git a/src/agent/service-engine/se_storage.c b/src/agent/service-engine/se_storage.c index 51beeff..e204715 100755 --- a/src/agent/service-engine/se_storage.c +++ b/src/agent/service-engine/se_storage.c @@ -36,6 +36,10 @@ static se_error_type_e _write_sync_type(int account_id, alert_type_e alert_type); static se_error_type_e _write_last_session_values(int account_id, sync_session_result_e sync_session_result, int last_session_time); +static int _convert_sync_mode_value(char* sync_mode_str); +static int _convert_sync_type_value(char* sync_type_str); +static int _convert_interval_value(char* interval_str); +static int _convert_src_uri_value(char* src_uri_str); static se_error_type_e _write_sync_type(int account_id, alert_type_e alert_type) { @@ -109,6 +113,124 @@ static se_error_type_e _write_last_session_values(int account_id, sync_session_r return err; } +static int _convert_sync_mode_value(char* sync_mode_str) +{ + _INNER_FUNC_ENTER; + _DEBUG_INFO("sync_mode_str: [%s]", sync_mode_str); + + int sync_mode_value = 0; + + if (strcmp(sync_mode_str,DEFINE_SYNC_MODE_MANUAL) == 0){ + sync_mode_value = MODE_MANUAL; + } else if (strcmp(sync_mode_str,DEFINE_SYNC_MODE_PERIODIC) == 0){ + sync_mode_value = MODE_PERIODIC; + } else if (strcmp(sync_mode_str,DEFINE_SYNC_MODE_PUSH) == 0){ + sync_mode_value = MODE_PUSH; + } else { + _DEBUG_ERROR("sync_mode_str is invalid!!"); + goto error; + } + + error: + + _INNER_FUNC_EXIT; + return sync_mode_value; + +} + +static int _convert_sync_type_value(char* sync_type_str) +{ + _INNER_FUNC_ENTER; + _DEBUG_INFO("sync_type_str: [%s]", sync_type_str); + + int sync_type_value = 0; + + if (strcmp(sync_type_str,DEFINE_ALERT_SLOW_SYNC_STR) == 0){ + sync_type_value = SYNC_TYPE_FULL_SYNC; + } else if (strcmp(sync_type_str,DEFINE_ALERT_TWO_WAY_STR) == 0){ + sync_type_value = SYNC_TYPE_UPDATE_BOTH; + } else if (strcmp(sync_type_str,DEFINE_ALERT_ONE_WAY_FROM_CLIENT_STR) == 0){ + sync_type_value = SYNC_TYPE_UPDATE_TO_SERVER; + } else if (strcmp(sync_type_str,DEFINE_ALERT_ONE_WAY_FROM_SERVER_STR) == 0){ + sync_type_value = SYNC_TYPE_UPDATE_TO_PHONE; + } else if (strcmp(sync_type_str,DEFINE_ALERT_REFRESH_FROM_SERVER_STR) == 0){ + sync_type_value = SYNC_TYPE_REFRESH_FROM_SERVER; + } else if (strcmp(sync_type_str,DEFINE_ALERT_REFRESH_FROM_CLIENT_STR) == 0){ + sync_type_value = SYNC_TYPE_REFRESH_FROM_PHONE; + } else { + _DEBUG_ERROR("sync_type_str is invalid!!"); + goto error; + } + + error: + + _INNER_FUNC_EXIT; + return sync_type_value; + +} + +static int _convert_interval_value(char* interval_str) +{ + _INNER_FUNC_ENTER; + _DEBUG_INFO("interval_str: [%s]", interval_str); + + int interval_value = 0; + + if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_5_MINUTES_STR) == 0){ + interval_value = SYNC_INTERVAL_5_MINUTES; + } else if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_15_MINUTES_STR) == 0){ + interval_value = SYNC_INTERVAL_15_MINUTES; + } else if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_1_HOUR_STR) == 0){ + interval_value = SYNC_INTERVAL_1_HOUR; + } else if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_4_HOURS_STR) == 0){ + interval_value = SYNC_INTERVAL_4_HOURS; + } else if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_12_HOURS_STR) == 0){ + interval_value = SYNC_INTERVAL_12_HOURS; + } else if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_1_DAY_STR) == 0){ + interval_value = SYNC_INTERVAL_1_DAY; + } else if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_1_WEEK_STR) == 0){ + interval_value = SYNC_INTERVAL_1_WEEK; + } else if (strcmp(interval_str,DEFINE_SYNC_INTERVAL_1_MONTH_STR) == 0){ + interval_value = SYNC_INTERVAL_1_MONTH; + } else { + _DEBUG_ERROR("interval_str is invalid!!"); + goto error; + } + + error: + + _INNER_FUNC_EXIT; + return interval_value; + +} + +static int _convert_src_uri_value(char* src_uri_str) +{ + _INNER_FUNC_ENTER; + _DEBUG_INFO("src_uri_str: [%s]", src_uri_str); + + int src_uri_value = 0; + + if (strcmp(src_uri_str,DEFINE_SOURCE_CONTACT_URI) == 0){ + src_uri_value = SRC_URI_CONTACT; + } else if (strcmp(src_uri_str,DEFINE_SOURCE_CALENDAR_URI) == 0){ + src_uri_value = SRC_URI_CALENDAR; + } else if (strcmp(src_uri_str,DEFINE_SOURCE_MEMO_URI) == 0){ + src_uri_value = SRC_URI_MEMO; + } else if (strcmp(src_uri_str,DEFINE_SOURCE_CALLLOG_URI) == 0){ + src_uri_value = SRC_URI_CALLLOG; + } else { + _DEBUG_ERROR("src_uri_str is invalid!!"); + goto error; + } + + error: + + _INNER_FUNC_EXIT; + return src_uri_value; + +} + se_error_type_e write_profile_data(int account_id, alert_type_e alert_type, sync_session_result_e sync_session_result, int last_session_time, int only_from_client) { _EXTERN_FUNC_ENTER; @@ -299,7 +421,7 @@ se_error_type_e write_sync_resource_info(int account_id, int content_type, int l return err; } -bool get_profile_data(int account_id, char **profile_name, char **addr, char **id, char **password, char **sync_mode, char **sync_type, char **interval, int *last_session_status, int *last_session_time) +bool get_profile_data(int account_id, char **profile_name, char **addr, char **id, char **password, int *sync_mode, int *sync_type, int *interval, int *last_session_status, int *last_session_time) { _EXTERN_FUNC_ENTER; @@ -311,6 +433,12 @@ bool get_profile_data(int account_id, char **profile_name, char **addr, char **i GList *iter = NULL; sync_agent_da_config_s *config_data = NULL; + char *sync_mode_str = NULL; + char *sync_type_str = NULL; + char *interval_str = NULL; + int sync_mode_value = 0; + int sync_type_value = 0; + int interval_value = 0; char *lastSessionStatus_str = NULL; char *lastSessionTime_str = NULL; @@ -367,21 +495,21 @@ bool get_profile_data(int account_id, char **profile_name, char **addr, char **i if (strcmp(config_data->key, DEFINE_CONFIG_KEY_PROFILE_SYNC_MODE) == 0) { if (config_data->value != NULL) { - *sync_mode = strdup(config_data->value); + sync_mode_str = strdup(config_data->value); continue; } } if (strcmp(config_data->key, DEFINE_CONFIG_KEY_PROFILE_CLIENT_SYNC_TYPE) == 0) { if (config_data->value != NULL) { - *sync_type = strdup(config_data->value); + sync_type_str = strdup(config_data->value); continue; } } if (strcmp(config_data->key, DEFINE_CONFIG_KEY_PROFILE_SYNC_INTERVAL) == 0) { if (config_data->value != NULL) { - *interval = strdup(config_data->value); + interval_str = strdup(config_data->value); continue; } } @@ -403,6 +531,24 @@ bool get_profile_data(int account_id, char **profile_name, char **addr, char **i } } + if (sync_mode_str != NULL) { + sync_mode_value = _convert_sync_mode_value(sync_mode_str); + _DEBUG_INFO("sync_mode_value: [%d]", sync_mode_value); + *sync_mode = sync_mode_value; + } + + if (sync_type_str != NULL) { + sync_type_value = _convert_sync_type_value(sync_type_str); + _DEBUG_INFO("sync_type_value: [%d]", sync_type_value); + *sync_type = sync_type_value; + } + + if (interval_str != NULL) { + interval_value = _convert_interval_value(interval_str); + _DEBUG_INFO("interval_value: [%d]", interval_value); + *interval = sync_type_value; + } + if (lastSessionStatus_str != NULL) *last_session_status = atoi(lastSessionStatus_str); @@ -417,11 +563,30 @@ bool get_profile_data(int account_id, char **profile_name, char **addr, char **i sync_agent_close_agent(); - if (lastSessionStatus_str != NULL) + if (sync_mode_str != NULL) { + free(sync_mode_str); + sync_mode_str = NULL; + } + + if (sync_type_str != NULL) { + free(sync_type_str); + sync_type_str = NULL; + } + + if (interval_str != NULL) { + free(interval_str); + interval_str = NULL; + } + + if (lastSessionStatus_str != NULL) { free(lastSessionStatus_str); + lastSessionStatus_str = NULL; + } - if (lastSessionTime_str != NULL) + if (lastSessionTime_str != NULL) { free(lastSessionTime_str); + lastSessionTime_str = NULL; + } _EXTERN_FUNC_EXIT; @@ -431,13 +596,15 @@ bool get_profile_data(int account_id, char **profile_name, char **addr, char **i return true; } -bool get_profile_sync_category(int account_id, int content_type, int *enabled, char **src_uri, char **tgt_uri, char **id, char **password) +bool get_profile_sync_category(int account_id, int content_type, int *enabled, int *src_uri, char **tgt_uri, char **id, char **password) { _EXTERN_FUNC_ENTER; se_error_type_e err = SE_INTERNAL_OK; char *datastore = NULL; char *enabled_str = NULL; + char *src_uri_str = NULL; + int src_uri_value = 0; char datastore_source[128]; char datastore_target[128]; @@ -494,7 +661,7 @@ bool get_profile_sync_category(int account_id, int content_type, int *enabled, c if (strcmp(config_data->key, datastore_source) == 0) { if (config_data->value != NULL) { - *src_uri = strdup(config_data->value); + src_uri_str = strdup(config_data->value); continue; } } @@ -526,14 +693,26 @@ bool get_profile_sync_category(int account_id, int content_type, int *enabled, c if (enabled_str != NULL) *enabled = atoi(enabled_str); + if (src_uri_str != NULL) { + src_uri_value = _convert_src_uri_value(src_uri_str); + *src_uri = src_uri_value; + } + error: sync_agent_free_config_list(config_list); sync_agent_close_agent(); - if (enabled_str != NULL) + if (enabled_str != NULL) { free(enabled_str); + enabled_str = NULL; + } + + if (src_uri_str != NULL) { + free(src_uri_str); + src_uri_str = NULL; + } _EXTERN_FUNC_EXIT; @@ -777,6 +956,14 @@ bool get_all_profiles_data(GList ** list) GList *free_iter = NULL; sync_agent_ds_service_info *category_info = NULL; + char* sync_mode_str = NULL; + char* sync_type_str = NULL; + char* interval_str = NULL; + char* src_uri_str = NULL; + int sync_mode_value = 0; + int sync_type_value = 0; + int interval_value = 0; + int src_uri_value = 0; sync_agent_da_return_e da_err = sync_agent_open_agent(); if (da_err != SYNC_AGENT_DA_SUCCESS) { @@ -847,21 +1034,30 @@ bool get_all_profiles_data(GList ** list) if (strcmp(config_data->key, DEFINE_CONFIG_KEY_PROFILE_SYNC_MODE) == 0) { if (config_data->value != NULL) { - sync_info->sync_mode = strdup(config_data->value); + sync_mode_str = strdup(config_data->value); + sync_mode_value = _convert_sync_mode_value(sync_mode_str); + _DEBUG_INFO("sync_mode_value: [%d]", sync_mode_value); + sync_info->sync_mode = sync_mode_value; continue; } } if (strcmp(config_data->key, DEFINE_CONFIG_KEY_PROFILE_CLIENT_SYNC_TYPE) == 0) { if (config_data->value != NULL) { - sync_info->sync_type = strdup(config_data->value); + sync_type_str = strdup(config_data->value); + sync_type_value = _convert_sync_type_value(sync_type_str); + _DEBUG_INFO("sync_type_value: [%d]", sync_type_value); + sync_info->sync_type = sync_type_value; continue; } } if (strcmp(config_data->key, DEFINE_CONFIG_KEY_PROFILE_SYNC_INTERVAL) == 0) { if (config_data->value != NULL) { - sync_info->interval = strdup(config_data->value); + interval_str = strdup(config_data->value); + interval_value = _convert_interval_value(interval_str); + _DEBUG_INFO("interval_value: [%d]", interval_value); + sync_info->interval =interval_value; continue; } } @@ -932,7 +1128,10 @@ bool get_all_profiles_data(GList ** list) if (strcmp(config_data->key, datastore_source) == 0) { if (config_data->value != NULL) { - category_info->src_uri = strdup(config_data->value); + src_uri_str = strdup(config_data->value); + src_uri_value = _convert_src_uri_value(src_uri_str); + _DEBUG_INFO("src_uri_value: [%d]", src_uri_value); + category_info->src_uri = src_uri_value; continue; } } @@ -977,13 +1176,35 @@ bool get_all_profiles_data(GList ** list) error: + if (sync_mode_str != NULL) { + free(sync_mode_str); + sync_mode_str = NULL; + } + + if (sync_type_str != NULL) { + free(sync_type_str); + sync_type_str = NULL; + } + + if (interval_str != NULL) { + free(interval_str); + interval_str = NULL; + } + + if (src_uri_str != NULL) { + free(src_uri_str); + src_uri_str = NULL; + } + for (free_iter = account_list; free_iter != NULL; free_iter = g_list_next(free_iter)) { sync_agent_ds_free_profile_info((ds_profile_h) free_iter->data); _DEBUG_INFO("free sync_agent_ds_profile_info"); } - if (profile_info != NULL) + if (profile_info != NULL) { free(profile_info); + profile_info = NULL; + } sync_agent_free_fw_account_list(account_info_list); diff --git a/src/agent/service-engine/se_sync.c b/src/agent/service-engine/se_sync.c index c946921..367b89b 100755 --- a/src/agent/service-engine/se_sync.c +++ b/src/agent/service-engine/se_sync.c @@ -39,6 +39,8 @@ #define LOG_TAG "OMA_DS_SE" #endif +static int __convert_alert_to_sync_type_value(alert_type_e sync_type); +static int __convert_src_uri_value(char *src_uri); static se_error_type_e _session_process(int account_id, alert_type_e server_sync_type, sync_progress_e process, sync_error_e error); static se_error_type_e __process_update(int account_id, alert_type_e server_sync_type, sync_progress_status_e progress_status, operation_type_e operation_type, int content_type, bool is_from_server, bool need_to_save, sync_result_s * sync_result); static se_error_type_e _write_sync_data(int account_id, alert_type_e alert_type, sync_session_result_e sync_session_result, int last_session_time, int only_from_client); @@ -88,6 +90,64 @@ static inline long myclock() return (tv.tv_sec * 1000 + tv.tv_usec / 1000); } +static int __convert_alert_to_sync_type_value(alert_type_e sync_type) +{ + _INNER_FUNC_ENTER; + + int sync_type_value = 0; + _DEBUG_INFO("sync_type: [%d]", sync_type); + + switch (sync_type) { + case ALERT_TWO_WAY: + sync_type_value = SYNC_TYPE_UPDATE_BOTH; + break; + case ALERT_SLOW_SYNC: + sync_type_value = SYNC_TYPE_FULL_SYNC; + break; + case ALERT_ONE_WAY_FROM_CLIENT: + sync_type_value = SYNC_TYPE_UPDATE_TO_SERVER; + break; + case ALERT_REFRESH_FROM_CLIENT: + sync_type_value = SYNC_TYPE_REFRESH_FROM_PHONE; + break; + case ALERT_ONE_WAY_FROM_SERVER: + sync_type_value = SYNC_TYPE_UPDATE_TO_PHONE; + break; + case ALERT_REFRESH_FROM_SERVER: + sync_type_value = SYNC_TYPE_REFRESH_FROM_SERVER; + break; + default: + _DEBUG_ERROR("sync_type is invalid!!"); + break; + } + + _INNER_FUNC_EXIT; + return sync_type_value; +} + +static int __convert_src_uri_value(char *src_uri) +{ + _INNER_FUNC_ENTER; + + int src_uri_value = 0; + _DEBUG_INFO("src_uri: [%s]", src_uri); + + if (strcmp(src_uri,DEFINE_SOURCE_CONTACT_URI) == 0) { + src_uri_value = SRC_URI_CONTACT; + } else if (strcmp(src_uri,DEFINE_SOURCE_CALENDAR_URI)) { + src_uri_value = SRC_URI_CALENDAR; + } else if (strcmp(src_uri,DEFINE_SOURCE_MEMO_URI)) { + src_uri_value = SRC_URI_MEMO; + } else if (strcmp(src_uri,DEFINE_SOURCE_CALLLOG_URI)) { + src_uri_value = SRC_URI_CALLLOG; + } else { + _DEBUG_ERROR("src_uri is invalid!!"); + } + + _INNER_FUNC_EXIT; + return src_uri_value; +} + static se_error_type_e _session_process(int account_id, alert_type_e server_sync_type, sync_progress_e process, sync_error_e error) { _INNER_FUNC_ENTER; @@ -95,6 +155,7 @@ static se_error_type_e _session_process(int account_id, alert_type_e server_sync char *profileDirName = NULL; se_error_type_e err = SE_INTERNAL_OK; bool result; + int sync_type_value = 0; result = get_config(account_id, DEFINE_CONFIG_KEY_PROFILE_DIR_NAME, &profileDirName); if (result == false) { @@ -103,8 +164,11 @@ static se_error_type_e _session_process(int account_id, alert_type_e server_sync goto error; } + sync_type_value = __convert_alert_to_sync_type_value(server_sync_type); + _DEBUG_INFO("sync_type_value: [%d]", sync_type_value); + if (profileDirName != NULL) { - err = session_process(profileDirName, server_sync_type, process, error); + err = session_process(profileDirName, sync_type_value, process, error); if (err != SE_INTERNAL_OK) { _DEBUG_ERROR("failed to send noti"); goto error; @@ -112,8 +176,10 @@ static se_error_type_e _session_process(int account_id, alert_type_e server_sync } error: - if (profileDirName != NULL) + if (profileDirName != NULL) { free(profileDirName); + profileDirName = NULL; + } _INNER_FUNC_EXIT; @@ -133,6 +199,8 @@ static se_error_type_e __process_update(int account_id, alert_type_e server_sync char *sync_type = NULL; char *operation = NULL; char *progress = NULL; + int sync_type_value = 0; + int uri_value = 0; bool result; result = get_config(account_id, DEFINE_CONFIG_KEY_PROFILE_DIR_NAME, &profileDirName); @@ -157,6 +225,8 @@ static se_error_type_e __process_update(int account_id, alert_type_e server_sync } sync_type = __convert_sync_type_str(server_sync_type); + sync_type_value = __convert_alert_to_sync_type_value(server_sync_type); + _DEBUG_INFO("sync_type_value: [%d]", sync_type_value); progress = ___convert_sync_progress_status_str(progress_status); @@ -171,8 +241,15 @@ static se_error_type_e __process_update(int account_id, alert_type_e server_sync if (datastoreinfo_per_content_type[content_type]->source != NULL) uri = strdup(datastoreinfo_per_content_type[content_type]->source); } + if (uri != NULL) { + uri_value = __convert_src_uri_value(uri); + _DEBUG_INFO("uri_value: [%d]", uri_value); + } else { + _DEBUG_ERROR("uri is NULL!!"); + goto error; + } - err = send_noti_process_update(profileDirName, sync_type, uri, progress, operation, is_from_server, 0, 0, sync_result->number_of_change, sync_result->add_count + sync_result->replace_count + sync_result->delete_count); + err = send_noti_process_update(profileDirName, sync_type_value, uri_value, progress, operation, is_from_server, 0, 0, sync_result->number_of_change, sync_result->add_count + sync_result->replace_count + sync_result->delete_count); if (err != SE_INTERNAL_OK) { _DEBUG_ERROR("failed in send_noti_process_update"); goto error; @@ -965,7 +1042,7 @@ static se_error_type_e _assemble_changed_datastores(int account_id, alert_type_e /*_DEBUG_TRACE("sync_agent_refresh_item_tbl_from_service"); sync_agent_refresh_item_tbl_from_service(account_id, datastoreinfo_per_content_type[content_type]->plugin_type);*/ - /* Delete All item (include changelog), before adapting server item data… */ + /* Delete All item (include changelog), before adapting server item data */ _DEBUG_TRACE("sync_agent_begin_service = %d", datastoreinfo_per_content_type[content_type]->datastore_id); sync_agent_begin_service(datastoreinfo_per_content_type[content_type]->datastore_id); sync_agent_begin_transaction(); @@ -1072,7 +1149,16 @@ static se_error_type_e _assemble_changed_datastores(int account_id, alert_type_e } _DEBUG_TRACE("sync_agent_end_service = %d", datastoreinfo_per_content_type[content_type]->datastore_id); - sync_agent_end_service(datastoreinfo_per_content_type[content_type]->datastore_id, 1); + da_err = sync_agent_end_service(datastoreinfo_per_content_type[content_type]->datastore_id, 1); + if (da_err != SYNC_AGENT_DA_SUCCESS) { + + sync_agent_end_transaction(SYNC_AGENT_DA_TRANSACTION_COMMIT); + sync_agent_free_item_list(item_list); + + _DEBUG_ERROR("failed in sync_agent_end_service !!"); + err = SE_INTERNAL_DA_ERROR; + goto error; + } sync_agent_end_transaction(SYNC_AGENT_DA_TRANSACTION_COMMIT); sync_agent_free_item_list(item_list); } @@ -2416,6 +2502,9 @@ static char *_convert_sync_progress_str(sync_progress_e process) case PROGRESS_DONE: syncProcess = DEFINE_SYNC_DONE; break; + case PROGRESS_CANCEL: + syncProcess = DEFINE_SYNC_CANCEL; + break; case PROGRESS_ERROR: syncProcess = DEFINE_SYNC_ERROR; break; @@ -2775,7 +2864,7 @@ bool synchronize(int account_id, char *sync_mode, san_package_s * san_package) bool cancel_status = check_cancel_status(); if (cancel_status) { err = SE_INTERNAL_SUSPEND; - _DEBUG_INFO("cancle flag is on"); + _DEBUG_INFO("cancel_status is on"); goto suspend_part; } } else { @@ -2790,7 +2879,7 @@ bool synchronize(int account_id, char *sync_mode, san_package_s * san_package) bool cancel_status = check_cancel_status(); if (cancel_status) { err = SE_INTERNAL_SUSPEND; - _DEBUG_INFO("cancle flag is on"); + _DEBUG_INFO("cancel_status is on"); goto suspend_part; } } @@ -2838,8 +2927,10 @@ bool synchronize(int account_id, char *sync_mode, san_package_s * san_package) suspend_part: errorCode = suspend_sync(TRANSPORT_TYPE, account_id, server_flag); + if (errorCode != COMMON_OK) { - _DEBUG_ERROR("Failed in suspend_sync = %d", errorCode); + _DEBUG_ERROR("failed in suspend_sync = %d",errorCode); + err = SE_INTERNAL_SA_ERROR; if (errorCode == COMMON_SUSPEND_FAIL) _off_resume_flag(account_id); @@ -2968,8 +3059,6 @@ void convert_common_errorcode(common_error_type_e errorCode, sync_progress_e * p _EXTERN_FUNC_ENTER; switch (errorCode) { - case COMMON_CANCEL: - case COMMON_SUSPEND_FAIL: case COMMON_OK: /*ERROR_INTERNAL_OK */ { /* Do nothing : Error None @@ -2982,6 +3071,13 @@ void convert_common_errorcode(common_error_type_e errorCode, sync_progress_e * p *error = ERROR_NONE; } break; + case COMMON_SUSPEND_FAIL: + case COMMON_CANCEL: + { + *process = PROGRESS_CANCEL; + *error = ERROR_NONE; + } + break; case COMMON_MISCONFIGURATION: /*ERROR_INTERNAL_MISCONFIGURATION : need configure infomation (account_id, id, pw, server_url...) */ { *process = PROGRESS_ERROR; @@ -3046,12 +3142,15 @@ void convert_engine_errorcode(se_error_type_e err, sync_progress_e * process, sy _EXTERN_FUNC_ENTER; switch (err) { - case SE_INTERNAL_SUSPEND: - case SE_INTERNAL_CANCEL: case SE_INTERNAL_OK: *process = PROGRESS_DONE; *error = ERROR_NONE; break; + case SE_INTERNAL_SUSPEND: + case SE_INTERNAL_CANCEL: + *process = PROGRESS_CANCEL; + *error = ERROR_NONE; + break; case ERROR_UNKNOWN: case SE_INTERNAL_SA_ERROR: case SE_INTERNAL_SCHEDULER_ERROR: @@ -3096,8 +3195,11 @@ se_error_type_e session_process(char *profileDirName, alert_type_e server_sync_t char *sync_type = NULL; char *syncProcess = NULL; char *syncError = NULL; + int sync_type_value = 0; sync_type = __convert_sync_type_str(server_sync_type); + sync_type_value = __convert_alert_to_sync_type_value(server_sync_type); + _DEBUG_INFO("sync_type_value: [%d]", sync_type_value); syncProcess = _convert_sync_progress_str(process); @@ -3108,7 +3210,7 @@ se_error_type_e session_process(char *profileDirName, alert_type_e server_sync_t goto error; } - err = send_noti_session_process(profileDirName, sync_type, syncProcess, syncError); + err = send_noti_session_process(profileDirName, sync_type_value, syncProcess, syncError); if (err != SE_INTERNAL_OK) { _DEBUG_ERROR("failed in send_noti_session_process"); goto error; |