[SystemSetting] move setProperty to main thread
authorLukasz Bardeli <l.bardeli@samsung.com>
Wed, 9 Sep 2015 09:12:42 +0000 (11:12 +0200)
committerLukasz Bardeli <l.bardeli@samsung.com>
Wed, 9 Sep 2015 09:12:42 +0000 (11:12 +0200)
[Verification] Passrate 100% (33/33/0/0/0)

Change-Id: I9c45d5325b93e97fac03a1e1aa640f8cc2a2698f
Signed-off-by: Lukasz Bardeli <l.bardeli@samsung.com>
src/systemsetting/systemsetting_instance.cc

index c36904d7a4d099cd456501a676afe53bc4271768..ae66b00001db8b7b2ec4c63efac3092e00d3bd68 100755 (executable)
@@ -143,26 +143,22 @@ void SystemSettingInstance::setProperty(const picojson::value& args, picojson::o
   const std::string& value = args.get("value").get<std::string>();
   LoggerD("Value to set: %s ", value.c_str());
 
-  auto get = [this, type, value](const std::shared_ptr<picojson::value>& response) -> void {
+  auto get = [this, type, value, callback_id](const std::shared_ptr<picojson::value>& response) -> void {
     LoggerD("Setting platform value");
     PlatformResult status = setPlatformPropertyValue(type, value);
+    picojson::object& obj = response->get<picojson::object>();
     if (status.IsSuccess()) {
-      ReportSuccess(response->get<picojson::object>());
+      ReportSuccess(obj);
     } else {
       LoggerE("Failed: setPlatformPropertyValue()");
-      ReportError(status, &response->get<picojson::object>());
+      ReportError(status, &obj);
     }
-  };
-
-  auto get_response = [this, callback_id](const std::shared_ptr<picojson::value>& response) -> void {
-    LoggerD("Getting response");
-    picojson::object& obj = response->get<picojson::object>();
     obj.insert(std::make_pair("callbackId", picojson::value(callback_id)));
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
-  TaskQueue::GetInstance().Queue<picojson::value>
-  (get, get_response, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+  TaskQueue::GetInstance().Async<picojson::value>
+  (get, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
 }
 
 PlatformResult SystemSettingInstance::setPlatformPropertyValue(