Fixed MRM-01 errors detected by C++Test.
authorPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 28 Sep 2015 12:16:13 +0000 (14:16 +0200)
committerPawel Andruszkiewicz <p.andruszkie@samsung.com>
Mon, 28 Sep 2015 12:16:13 +0000 (14:16 +0200)
Compiler may reorder the code in a such way that memory is allocated by the operator new, but not yet owned by shared_ptr. If at this time
an exception is thrown, memory will leak. In order to avoid this problem memory should be allocated in a separate line.

[Validation] Code compiles, logic was not affected.

Change-Id: I741530315a08cfb0389f276223cee1b71865bb56
Signed-off-by: Pawel Andruszkiewicz <p.andruszkie@samsung.com>
14 files changed:
src/account/account_instance.cc
src/application/application_manager.cc
src/bluetooth/bluetooth_adapter.cc
src/bluetooth/bluetooth_health_profile_handler.cc
src/calendar/calendar_instance.cc
src/callhistory/callhistory.cc
src/contact/contact_instance.cc
src/exif/exif_instance.cc
src/keymanager/keymanager_instance.cc
src/secureelement/secureelement_instance.cc
src/secureelement/secureelement_seservice.cc
src/sensor/sensor_service.cc
src/systeminfo/systeminfo_manager.cc
src/systemsetting/systemsetting_instance.cc

index 9a249be..8e27e78 100755 (executable)
@@ -115,10 +115,12 @@ void AccountInstance::AccountGetExtendedData(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_extended_data,
       get_extended_data_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
@@ -183,10 +185,12 @@ void AccountInstance::AccountManagerGetAccounts(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_accounts,
       get_accounts_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
@@ -222,10 +226,12 @@ void AccountInstance::AccountManagerGetProviders(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_providers,
       get_providers_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
index 799530b..6517412 100755 (executable)
@@ -791,10 +791,12 @@ void ApplicationManager::GetAppsContext(const picojson::value& args) {
     Instance::PostMessage(&this->instance_, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_apps_context,
       get_apps_context_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 void ApplicationManager::GetAppContext(const picojson::value& args, picojson::object* out) {
@@ -892,10 +894,12 @@ void ApplicationManager::GetAppsInfo(const picojson::value& args) {
     Instance::PostMessage(&this->instance_, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_apps_info,
       get_apps_info_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 void ApplicationManager::GetAppInfo(const std::string& app_id, picojson::object* out) {
index 77a9695..84a82de 100755 (executable)
@@ -859,10 +859,12 @@ void BluetoothAdapter::GetKnownDevices(const picojson::value& data, picojson::ob
     instance_.SyncResponse(callback_handle, response);
   };
 
+  auto queue_data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_known_devices,
       get_known_devices_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      queue_data);
 
   ReportSuccess(out);
 }
@@ -926,10 +928,12 @@ void BluetoothAdapter::GetDevice(const picojson::value& data, picojson::object&
     instance_.SyncResponse(callback_handle, response);
   };
 
+  auto queue_data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_device,
       get_device_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      queue_data);
 
   ReportSuccess(out);
 }
@@ -1266,10 +1270,12 @@ void BluetoothAdapter::RegisterRFCOMMServiceByUUID(const picojson::value& data,
     instance_.SyncResponse(callback_handle, response);
   };
 
+  auto queue_data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       rfcomm,
       rfcomm_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      queue_data);
 
   ReportSuccess(out);
 }
index 6a788ba..34dc7d4 100755 (executable)
@@ -275,10 +275,12 @@ void BluetoothHealthProfileHandler::RegisterSinkApp(const picojson::value& data,
     instance_.SyncResponse(callback_handle, response);
   };
 
+  auto queue_data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       register_app,
       register_app_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      queue_data);
 
   ReportSuccess(out);
 }
@@ -374,10 +376,12 @@ void BluetoothHealthProfileHandler::UnregisterSinkAppAsync(const std::string& ap
     instance_.SyncResponse(callback_handle, response);
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       unregister_app,
       unregister_app_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 } // namespace bluetooth
index bfc91be..ac5f48e 100755 (executable)
@@ -133,9 +133,10 @@ void CalendarInstance::CalendarAddBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void CalendarInstance::CalendarUpdate(const JsonValue& args, JsonObject& out) {
@@ -183,9 +184,10 @@ void CalendarInstance::CalendarUpdateBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void CalendarInstance::CalendarRemove(const JsonValue& args, JsonObject& out) {
@@ -233,9 +235,10 @@ void CalendarInstance::CalendarRemoveBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void CalendarInstance::CalendarFind(const JsonValue& args, JsonObject& out) {
@@ -266,9 +269,10 @@ void CalendarInstance::CalendarFind(const JsonValue& args, JsonObject& out) {
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void CalendarInstance::CalendarAddChangeListener(const JsonValue& args,
@@ -368,9 +372,10 @@ void CalendarInstance::CalendarManagerGetCalendars(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void CalendarInstance::CalendarManagerRemoveCalendar(const JsonValue& args,
index 2f16a45..5591b56 100755 (executable)
@@ -380,10 +380,12 @@ common::PlatformResult CallHistory::removeBatch(const picojson::object& args)
     Instance::PostMessage(&this->instance_, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       remove_batch,
       remove_batch_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
   return PlatformResult(ErrorCode::NO_ERROR);
 }
 
@@ -493,10 +495,12 @@ void CallHistory::removeAll(const picojson::object& args)
     Instance::PostMessage(&this->instance_, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       remove_all,
       remove_all_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 std::vector<std::string>& CallHistory::getPhoneNumbers()
index 335027d..78dd443 100755 (executable)
@@ -134,9 +134,10 @@ void ContactInstance::AddressBookAddBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::AddressBookRemoveBatch(const JsonValue& args,
@@ -166,9 +167,10 @@ void ContactInstance::AddressBookRemoveBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::AddressBookUpdateBatch(const JsonValue& args,
@@ -198,9 +200,10 @@ void ContactInstance::AddressBookUpdateBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::AddressBookUpdate(const JsonValue& args,
@@ -247,9 +250,10 @@ void ContactInstance::AddressBookFind(const JsonValue& args, JsonObject& out) {
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::AddressBookAddGroup(const JsonValue& args,
@@ -329,9 +333,10 @@ void ContactInstance::ContactManagerGetAddressBooks(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::ContactManagerGetAddressBook(const JsonValue& args,
@@ -437,9 +442,10 @@ void ContactInstance::ContactManagerUpdateBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::ContactManagerRemove(const JsonValue& args,
@@ -480,9 +486,10 @@ void ContactInstance::ContactManagerRemoveBatch(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::ContactManagerFind(const JsonValue& args,
@@ -508,9 +515,10 @@ void ContactInstance::ContactManagerFind(const JsonValue& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
   TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+      get, get_response, data);
 }
 
 void ContactInstance::ContactManagerImportFromVCard(const JsonValue& args,
index b2aaf5d..b4d6446 100755 (executable)
@@ -78,8 +78,9 @@ void ExifInstance::ExifManagerGetExifInfo(const picojson::value& args, picojson:
       Instance::PostMessage(this, response->serialize().c_str());
   };
 
-  common::TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response, std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
+  common::TaskQueue::GetInstance().Queue<JsonValue>(get, get_response, data);
 
   LoggerD("exit");
 }
@@ -111,8 +112,9 @@ void ExifInstance::ExifManagerSaveExifInfo(const picojson::value& args,
       Instance::PostMessage(this, response->serialize().c_str());
   };
 
-  common::TaskQueue::GetInstance().Queue<JsonValue>(get, get_response,
-      std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
+  common::TaskQueue::GetInstance().Queue<JsonValue>(get, get_response, data);
 }
 
 void ExifInstance::ExifManagerGetThumbnail(const picojson::value& args,
@@ -181,8 +183,9 @@ void ExifInstance::ExifManagerGetThumbnail(const picojson::value& args,
       Instance::PostMessage(this, response->serialize().c_str());
   };
 
-  common::TaskQueue::GetInstance().Queue<JsonValue>(
-      get, get_response, std::shared_ptr<JsonValue>(new JsonValue(JsonObject())));
+  auto data = std::shared_ptr<JsonValue>(new JsonValue(JsonObject()));
+
+  common::TaskQueue::GetInstance().Queue<JsonValue>(get, get_response, data);
 }
 
 }  // namespace exif
index 81f4cc0..6e5c4c7 100755 (executable)
@@ -383,10 +383,12 @@ void KeyManagerInstance::SaveKey(const picojson::value& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       save,
       save_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 void KeyManagerInstance::RemoveAlias(const picojson::value& args,
@@ -491,10 +493,12 @@ void KeyManagerInstance::GenerateKeyPair(const picojson::value& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       generate,
       generate_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 
   ReportSuccess(out);
 }
@@ -606,10 +610,12 @@ void KeyManagerInstance::SaveCertificate(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       save_certificate,
       save_certificate_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
@@ -684,10 +690,12 @@ void KeyManagerInstance::LoadCertificateFromFile(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       load_certificate,
       load_certificate_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
@@ -751,10 +759,12 @@ void KeyManagerInstance::SaveData(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto queue_data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       save_data,
       save_data_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      queue_data);
 
   ReportSuccess(out);
 }
@@ -865,10 +875,12 @@ void KeyManagerInstance::CreateSignature(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       create_certificate,
       create_certificate_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
@@ -935,10 +947,12 @@ void KeyManagerInstance::VerifySignature(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       verify_certificate,
       verify_certificate_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
@@ -1032,10 +1046,12 @@ void KeyManagerInstance::LoadFromPKCS12File(const picojson::value& args,
     Instance::PostMessage(this, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       load_file,
       load_file_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
@@ -1086,10 +1102,12 @@ void KeyManagerInstance::AllowAccessControl(const picojson::value& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       allow,
       allow_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 void KeyManagerInstance::DenyAccessControl(const picojson::value& args,
@@ -1121,10 +1139,12 @@ void KeyManagerInstance::DenyAccessControl(const picojson::value& args,
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       deny,
       deny_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 void KeyManagerInstance::IsDataNameFound(const picojson::value& args,
index 2930914..e486668 100644 (file)
@@ -190,10 +190,12 @@ void SecureElementInstance::OpenSession(
         Instance::PostMessage(this, response->serialize().c_str());
     };
 
+    auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
     TaskQueue::GetInstance().Queue<picojson::value>(
             open_session,
             open_session_response,
-            std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+            data);
 }
 
 // Session functions
@@ -235,8 +237,9 @@ void SecureElementInstance::OpenBasicChannel( const picojson::value& args, picoj
         Instance::PostMessage(this, response->serialize().c_str());
     };
 
-    TaskQueue::GetInstance().Queue<picojson::value>
-        ( open, get_response, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+    auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
+    TaskQueue::GetInstance().Queue<picojson::value>(open, get_response, data);
 }
 
 
@@ -277,8 +280,9 @@ void SecureElementInstance::OpenLogicalChannel( const picojson::value& args, pic
         Instance::PostMessage(this, response->serialize().c_str());
     };
 
-    TaskQueue::GetInstance().Queue<picojson::value>
-        ( open, get_response, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+    auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
+    TaskQueue::GetInstance().Queue<picojson::value>(open, get_response, data);
 }
 
 
@@ -368,8 +372,9 @@ void SecureElementInstance::Transmit( const picojson::value& args, picojson::obj
         Instance::PostMessage(this, response->serialize().c_str());
     };
 
-    TaskQueue::GetInstance().Queue<picojson::value>
-        ( open, get_response, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+    auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
+    TaskQueue::GetInstance().Queue<picojson::value>(open, get_response, data);
 }
 
 } // namespace secureelement
index c86adc3..290bd94 100644 (file)
@@ -131,11 +131,13 @@ void SEService::GetReaders(double callback_id) {
     return;
   }
 
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
   // everything's fine, get the readers, send the response
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_readers,
       get_readers_response,
-      std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+      data);
 }
 
 void SEService::RegisterSEListener() {
index c188191..cdb0914 100644 (file)
@@ -607,10 +607,12 @@ void SensorService::SensorStart(const picojson::value& args, picojson::object& o
     Instance::PostMessage(&instance_, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       start,
       start_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
   ReportSuccess(out);
 }
 
@@ -736,10 +738,12 @@ void SensorService::GetSensorData(const picojson::value& args, picojson::object&
     Instance::PostMessage(&instance_, result->serialize().c_str());
   };
 
+  auto data = std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}};
+
   TaskQueue::GetInstance().Queue<picojson::value>(
       get_data,
       get_data_result,
-      std::shared_ptr<picojson::value>{new picojson::value{picojson::object()}});
+      data);
 
   ReportSuccess(out);
 }
index 70c43bf..8634b73 100644 (file)
@@ -424,8 +424,9 @@ void SysteminfoManager::GetPropertyValue(const picojson::value& args, picojson::
     Instance::PostMessage(instance_, response->serialize().c_str());
   };
 
-  TaskQueue::GetInstance().Queue<picojson::value>
-  (get, get_response, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
+  TaskQueue::GetInstance().Queue<picojson::value>(get, get_response, data);
 }
 
 void SysteminfoManager::GetPropertyValueArray(const picojson::value& args, picojson::object* out) {
@@ -456,8 +457,9 @@ void SysteminfoManager::GetPropertyValueArray(const picojson::value& args, picoj
     Instance::PostMessage(instance_, response->serialize().c_str());
   };
 
-  TaskQueue::GetInstance().Queue<picojson::value>
-  (get, get_response, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
+  TaskQueue::GetInstance().Queue<picojson::value>(get, get_response, data);
 }
 
 void SysteminfoManager::GetTotalMemory(const picojson::value& args, picojson::object* out) {
index 9eb7d2a..3f318d7 100755 (executable)
@@ -86,8 +86,9 @@ void SystemSettingInstance::getProperty(const picojson::value& args, picojson::o
     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())));
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
+  TaskQueue::GetInstance().Queue<picojson::value>(get, get_response, data);
 }
 
 PlatformResult SystemSettingInstance::getPlatformPropertyValue(
@@ -159,8 +160,9 @@ void SystemSettingInstance::setProperty(const picojson::value& args, picojson::o
     Instance::PostMessage(this, response->serialize().c_str());
   };
 
-  TaskQueue::GetInstance().Async<picojson::value>
-  (get, std::shared_ptr<picojson::value>(new picojson::value(picojson::object())));
+  auto data = std::shared_ptr<picojson::value>(new picojson::value(picojson::object()));
+
+  TaskQueue::GetInstance().Async<picojson::value>(get, data);
 }
 
 PlatformResult SystemSettingInstance::setPlatformPropertyValue(