[DataSync] getProfilesNum
authorRyszard Matuszyk <r.matuszyk@samsung.com>
Thu, 8 Jan 2015 09:42:57 +0000 (10:42 +0100)
committerRyszard Matuszyk <r.matuszyk@samsung.com>
Thu, 8 Jan 2015 09:51:14 +0000 (18:51 +0900)
Verification: not available. Platform function sync_agent_ds_init not working.

Change-Id: I9d3be5e99a47ce2e7cd369a72770693fefb47f6b
Signed-off-by: Ryszard Matuszyk <r.matuszyk@samsung.com>
src/datasync/datasync_instance.cc
src/datasync/datasync_manager.cc
src/datasync/datasync_manager.h

index 2abb2f5092363beb50d4a4baa07b0f65fbcb4eae..81650458465d89e082371de9765c4b04bf8fa8dc 100644 (file)
@@ -41,11 +41,8 @@ void DatasyncInstance::GetMaxProfilesNum(const picojson::value &args, picojson::
 }
 
 void DatasyncInstance::GetProfilesNum(const picojson::value &args, picojson::object &out) {
-//  TODO: implementation
-
-    picojson::value val{picojson::object{}};
-
-    ReportSuccess(val, out);
+  ReportSuccess(
+      picojson::value(static_cast<double>(DataSyncManager::Instance().GetProfilesNum())), out);
 }
 
 void DatasyncInstance::Get(const picojson::value &args, picojson::object &out) {
index b442b1bd8c8c68391e303ac4e450f24ec4217ff1..bc6d0cf7866c0385e6e94caeb50a3b48540ca373 100644 (file)
@@ -541,28 +541,16 @@ int DataSyncManager::GetMaxProfilesNum() const {
   return MAX_PROFILES_NUM;
 }
 
-ResultOrError<unsigned> DataSyncManager::GetProfilesNum() const {
-  GList* profile_list = nullptr;
-  GList* iter = nullptr;
+int DataSyncManager::GetProfilesNum() const {
+  int profile_list_size = 0;
 
-  sync_agent_ds_error_e ret = SYNC_AGENT_DS_FAIL;
+  sync_agent_ds_error_e error_checker = sync_agent_ds_get_profile_count(&profile_list_size);
 
-  ret = sync_agent_ds_get_all_profile(&profile_list);
-  if (SYNC_AGENT_DS_SUCCESS != ret) {
-    return Error("Exception",
-        "Platform error while getting all profiles");
+  if (SYNC_AGENT_DS_SUCCESS  != error_checker) {
+    throw common::UnknownException("Error while getting number of profiles.");
   }
 
-  int num_profiles = 0;
-  for (iter = profile_list; iter != nullptr; iter = g_list_next(iter)) {
-    sync_agent_ds_free_profile_info((ds_profile_h)iter->data);
-    num_profiles++;
-    LoggerD("Free sync_agent_ds_profile_info for index: %d", num_profiles);
-  }
-
-  LoggerD("numProfiles: %d", num_profiles);
-
-  return num_profiles;
+  return profile_list_size;
 }
 
 ResultOrError<SyncProfileInfoPtr> DataSyncManager::Get(
index f797ff71abefc5943a14aaa706684da7ad414791..6ab5cf521af2e21689ca18fda21321dbceed51b6 100644 (file)
@@ -36,7 +36,7 @@ class DataSyncManager {
   ResultOrError<void> Remove(const std::string& id);
 
   int GetMaxProfilesNum() const;
-  ResultOrError<unsigned> GetProfilesNum() const;
+  int GetProfilesNum() const;
 
   ResultOrError<SyncProfileInfoPtr> Get(
       const std::string& profile_id) const;