[Internal: API change] When profile gets, input param changed.
[platform/core/system/sync-agent.git] / src / framework / event / oma_ds_api.c
index b0f0f88..af5e068 100755 (executable)
@@ -52,6 +52,7 @@
 #define SYNC_MODE_PUSH_STR "Push"
 #define SYNC_MODE_PERIODIC_STR "Periodic"
 
+#define SYNC_INTERVAL_NONE "None"
 #define SYNC_INTERVAL_5_MINUTES "5 minutes"
 #define SYNC_INTERVAL_15_MINUTES "15 minutes"
 #define SYNC_INTERVAL_1_HOUR "1 hour"
@@ -357,6 +358,7 @@ static char * _convert_sync_interval_str(sync_agent_ds_sync_interval_e interval)
                        interval_str = SYNC_INTERVAL_1_MONTH;
                        break;
                default:
+                       interval_str = SYNC_INTERVAL_NONE;
                        break;
        }
 
@@ -751,6 +753,31 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_set_sync_service_info(ds_profile_
        return result;
 }
 
+EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile_id(ds_profile_h profile_h, int *profile_id)
+{
+       _EXTERN_FUNC_ENTER;
+
+       // check mandatory parameter
+       retvm_if(profile_h == NULL, SYNC_AGENT_DS_FAIL, "profile handle is null!!");
+
+       sync_agent_ds_profile_info *profile_info = (sync_agent_ds_profile_info *) profile_h;
+
+       sync_agent_ds_error_e result = SYNC_AGENT_DS_SUCCESS;
+
+       *profile_id = profile_info->profile_id;
+
+       if (*profile_id < 1) {
+               _DEBUG_ERROR("profile_id is invalid!!");
+               return SYNC_AGENT_DS_FAIL;
+       }
+
+       _DEBUG_INFO("profile_id = %d", *profile_id);
+
+       _EXTERN_FUNC_EXIT;
+
+       return result;
+}
+
 EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile_dir_name(ds_profile_h profile_h, char **profile_dir_name)
 {
        _EXTERN_FUNC_ENTER;
@@ -1052,12 +1079,12 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_add_profile(ds_profile_h profile_
        return SYNC_AGENT_DS_SUCCESS;
 }
 
-EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile(char *profile_dir_name, ds_profile_h * profile_h)
+EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile(int profile_id, ds_profile_h * profile_h)
 {
        _EXTERN_FUNC_ENTER;
 
        // check mandatory parameter
-       retvm_if(profile_dir_name == NULL, SYNC_AGENT_DS_FAIL, "profile_dir_name is null!!");
+       retvm_if(profile_id < 1, SYNC_AGENT_DS_FAIL, "profile_id is invalid!!");
 
        int event_type = SYNC_AGENT_DS_GET_PROFILE;
        sync_agent_event_error_e error = SYNC_AGENT_EVENT_SUCCESS;
@@ -1082,7 +1109,8 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile(char *profile_dir_nam
        }
 
        /* add request parameter to event packet */
-       sync_agent_append_event_data_param(request_event, SYNC_AGENT_EVENT_PARAM_TYPE_STRING, (void *)profile_dir_name);
+       sync_agent_append_event_data_param(request_event, SYNC_AGENT_EVENT_PARAM_TYPE_INTEGER, &profile_id);
+       _DEBUG_INFO("profile_id = %d", profile_id);
 
        /* send event request to ds agent daemon, waiting for response */
        response_event = sync_agent_send_event(request_event, &error);
@@ -1123,8 +1151,9 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile(char *profile_dir_nam
                return SYNC_AGENT_DS_FAIL;
        }
 
-       profile_info->profile_dir_name = g_strdup(profile_dir_name);
+       //profile_info->profile_dir_name = g_strdup(profile_dir_name);
 
+       sync_agent_get_event_data_param_str(response_event, &profile_info->profile_dir_name);
        sync_agent_get_event_data_param_str(response_event, &profile_info->profile_name);
        sync_agent_get_event_data_param_str(response_event, &server_info->addr);
        sync_agent_get_event_data_param_str(response_event, &server_info->id);
@@ -1135,7 +1164,8 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile(char *profile_dir_nam
        sync_agent_get_event_data_param_int(response_event, &profile_info->last_sync_status);
        sync_agent_get_event_data_param_int(response_event, &profile_info->last_sync_time);
 
-       _DEBUG_INFO("profileDirame = %s", profile_info->profile_name);
+       _DEBUG_INFO("profile_dir_name = %s", profile_info->profile_dir_name);
+       _DEBUG_INFO("profile_name = %s", profile_info->profile_name);
        _DEBUG_INFO("addr = %s", server_info->addr);
        _DEBUG_INFO("id = %s", server_info->id);
        _DEBUG_INFO("password = %s", server_info->password);
@@ -1149,24 +1179,16 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_profile(char *profile_dir_nam
        sync_agent_free_event(request_event);
        sync_agent_free_event_data(response_event);
 
-       //////////////////////////////////
-       //
        // Phase 2. get sync category info
 
        /* get contacts sync_category */
-       result_sync_category = _get_sync_category(profile_dir_name, SYNC_AGENT_DS_SYNC_CONTACTS, &category);
+       result_sync_category = _get_sync_category(profile_info->profile_dir_name, SYNC_AGENT_DS_SYNC_CONTACTS, &category);
        if (result_sync_category)
                profile_info->service_list = g_list_append(profile_info->service_list, category);
 
        /* get schedule sync_category */
        category = NULL;
-       result_sync_category = _get_sync_category(profile_dir_name, SYNC_AGENT_DS_SYNC_SCHEDULE, &category);
-       if (result_sync_category)
-               profile_info->service_list = g_list_append(profile_info->service_list, category);
-
-       /* get memo sync_category */
-       category = NULL;
-       result_sync_category = _get_sync_category(profile_dir_name, SYNC_AGENT_DS_SYNC_MEMO, &category);
+       result_sync_category = _get_sync_category(profile_info->profile_dir_name, SYNC_AGENT_DS_SYNC_SCHEDULE, &category);
        if (result_sync_category)
                profile_info->service_list = g_list_append(profile_info->service_list, category);
 
@@ -1243,6 +1265,7 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_all_profile(GList ** profile_
                sync_agent_ds_server_info *server_info = &profile_info->server_info;
                sync_agent_ds_sync_info *sync_info = &profile_info->sync_info;
 
+               sync_agent_get_event_data_param_int(response_event, &profile_info->profile_id);
                sync_agent_get_event_data_param_str(response_event, &profile_info->profile_dir_name);
                sync_agent_get_event_data_param_str(response_event, &profile_info->profile_name);
                sync_agent_get_event_data_param_str(response_event, &server_info->addr);
@@ -1254,6 +1277,7 @@ EXPORT_API sync_agent_ds_error_e sync_agent_ds_get_all_profile(GList ** profile_
                sync_agent_get_event_data_param_int(response_event, &profile_info->last_sync_status);
                sync_agent_get_event_data_param_int(response_event, &profile_info->last_sync_time);
 
+               _DEBUG_INFO("profile_info->profile_id = %d", profile_info->profile_id);
                _DEBUG_INFO("profile_info->profile_dir_name = %s", profile_info->profile_dir_name);
                _DEBUG_INFO("profile_info->profile_name = %s", profile_info->profile_name);
                _DEBUG_INFO("profile_info->addr = %s", server_info->addr);