From 6de05a9f5787906f4554c99e7b1e860bf3522af7 Mon Sep 17 00:00:00 2001
From: Pawel Andruszkiewicz
Date: Mon, 28 Sep 2015 14:16:13 +0200
Subject: [PATCH] Fixed MRM-01 errors detected by C++Test.
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
---
src/account/account_instance.cc | 12 +++++--
src/application/application_manager.cc | 8 +++--
src/bluetooth/bluetooth_adapter.cc | 12 +++++--
src/bluetooth/bluetooth_health_profile_handler.cc | 8 +++--
src/calendar/calendar_instance.cc | 25 ++++++++------
src/callhistory/callhistory.cc | 8 +++--
src/contact/contact_instance.cc | 40 ++++++++++++++---------
src/exif/exif_instance.cc | 15 +++++----
src/keymanager/keymanager_instance.cc | 40 +++++++++++++++++------
src/secureelement/secureelement_instance.cc | 19 +++++++----
src/secureelement/secureelement_seservice.cc | 4 ++-
src/sensor/sensor_service.cc | 8 +++--
src/systeminfo/systeminfo_manager.cc | 10 +++---
src/systemsetting/systemsetting_instance.cc | 10 +++---
14 files changed, 147 insertions(+), 72 deletions(-)
diff --git a/src/account/account_instance.cc b/src/account/account_instance.cc
index 9a249be..8e27e78 100755
--- a/src/account/account_instance.cc
+++ b/src/account/account_instance.cc
@@ -115,10 +115,12 @@ void AccountInstance::AccountGetExtendedData(const picojson::value& args,
Instance::PostMessage(this, result->serialize().c_str());
};
+ auto data = std::shared_ptr{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
get_extended_data,
get_extended_data_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
get_accounts,
get_accounts_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
get_providers,
get_providers_result,
- std::shared_ptr{new picojson::value{picojson::object()}});
+ data);
ReportSuccess(out);
}
diff --git a/src/application/application_manager.cc b/src/application/application_manager.cc
index 799530b..6517412 100755
--- a/src/application/application_manager.cc
+++ b/src/application/application_manager.cc
@@ -791,10 +791,12 @@ void ApplicationManager::GetAppsContext(const picojson::value& args) {
Instance::PostMessage(&this->instance_, response->serialize().c_str());
};
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
get_apps_context,
get_apps_context_response,
- std::shared_ptr(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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
get_apps_info,
get_apps_info_response,
- std::shared_ptr(new picojson::value(picojson::object())));
+ data);
}
void ApplicationManager::GetAppInfo(const std::string& app_id, picojson::object* out) {
diff --git a/src/bluetooth/bluetooth_adapter.cc b/src/bluetooth/bluetooth_adapter.cc
index 77a9695..84a82de 100755
--- a/src/bluetooth/bluetooth_adapter.cc
+++ b/src/bluetooth/bluetooth_adapter.cc
@@ -859,10 +859,12 @@ void BluetoothAdapter::GetKnownDevices(const picojson::value& data, picojson::ob
instance_.SyncResponse(callback_handle, response);
};
+ auto queue_data = std::shared_ptr(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
get_known_devices,
get_known_devices_response,
- std::shared_ptr(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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
get_device,
get_device_response,
- std::shared_ptr(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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
rfcomm,
rfcomm_response,
- std::shared_ptr(new picojson::value(picojson::object())));
+ queue_data);
ReportSuccess(out);
}
diff --git a/src/bluetooth/bluetooth_health_profile_handler.cc b/src/bluetooth/bluetooth_health_profile_handler.cc
index 6a788ba..34dc7d4 100755
--- a/src/bluetooth/bluetooth_health_profile_handler.cc
+++ b/src/bluetooth/bluetooth_health_profile_handler.cc
@@ -275,10 +275,12 @@ void BluetoothHealthProfileHandler::RegisterSinkApp(const picojson::value& data,
instance_.SyncResponse(callback_handle, response);
};
+ auto queue_data = std::shared_ptr(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
register_app,
register_app_response,
- std::shared_ptr(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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
unregister_app,
unregister_app_response,
- std::shared_ptr(new picojson::value(picojson::object())));
+ data);
}
} // namespace bluetooth
diff --git a/src/calendar/calendar_instance.cc b/src/calendar/calendar_instance.cc
index bfc91be..ac5f48e 100755
--- a/src/calendar/calendar_instance.cc
+++ b/src/calendar/calendar_instance.cc
@@ -133,9 +133,10 @@ void CalendarInstance::CalendarAddBatch(const JsonValue& args,
Instance::PostMessage(this, response->serialize().c_str());
};
+ auto data = std::shared_ptr(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(new JsonValue(JsonObject())));
+ get, get_response, data);
}
void CalendarInstance::CalendarManagerRemoveCalendar(const JsonValue& args,
diff --git a/src/callhistory/callhistory.cc b/src/callhistory/callhistory.cc
index 2f16a45..5591b56 100755
--- a/src/callhistory/callhistory.cc
+++ b/src/callhistory/callhistory.cc
@@ -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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
remove_batch,
remove_batch_response,
- std::shared_ptr(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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
remove_all,
remove_all_response,
- std::shared_ptr(new picojson::value(picojson::object())));
+ data);
}
std::vector& CallHistory::getPhoneNumbers()
diff --git a/src/contact/contact_instance.cc b/src/contact/contact_instance.cc
index 335027d..78dd443 100755
--- a/src/contact/contact_instance.cc
+++ b/src/contact/contact_instance.cc
@@ -134,9 +134,10 @@ void ContactInstance::AddressBookAddBatch(const JsonValue& args,
Instance::PostMessage(this, response->serialize().c_str());
};
+ auto data = std::shared_ptr(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(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(new JsonValue(JsonObject()));
+
TaskQueue::GetInstance().Queue(
- get, get_response,
- std::shared_ptr(new JsonValue(JsonObject())));
+ get, get_response, data);
}
void ContactInstance::ContactManagerImportFromVCard(const JsonValue& args,
diff --git a/src/exif/exif_instance.cc b/src/exif/exif_instance.cc
index b2aaf5d..b4d6446 100755
--- a/src/exif/exif_instance.cc
+++ b/src/exif/exif_instance.cc
@@ -78,8 +78,9 @@ void ExifInstance::ExifManagerGetExifInfo(const picojson::value& args, picojson:
Instance::PostMessage(this, response->serialize().c_str());
};
- common::TaskQueue::GetInstance().Queue(
- get, get_response, std::shared_ptr(new JsonValue(JsonObject())));
+ auto data = std::shared_ptr(new JsonValue(JsonObject()));
+
+ common::TaskQueue::GetInstance().Queue(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(get, get_response,
- std::shared_ptr(new JsonValue(JsonObject())));
+ auto data = std::shared_ptr(new JsonValue(JsonObject()));
+
+ common::TaskQueue::GetInstance().Queue(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(
- get, get_response, std::shared_ptr(new JsonValue(JsonObject())));
+ auto data = std::shared_ptr(new JsonValue(JsonObject()));
+
+ common::TaskQueue::GetInstance().Queue(get, get_response, data);
}
} // namespace exif
diff --git a/src/keymanager/keymanager_instance.cc b/src/keymanager/keymanager_instance.cc
index 81f4cc0..6e5c4c7 100755
--- a/src/keymanager/keymanager_instance.cc
+++ b/src/keymanager/keymanager_instance.cc
@@ -383,10 +383,12 @@ void KeyManagerInstance::SaveKey(const picojson::value& args,
Instance::PostMessage(this, response->serialize().c_str());
};
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
save,
save_response,
- std::shared_ptr(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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
generate,
generate_response,
- std::shared_ptr(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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
save_certificate,
save_certificate_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
load_certificate,
load_certificate_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
save_data,
save_data_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
create_certificate,
create_certificate_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
verify_certificate,
verify_certificate_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
load_file,
load_file_result,
- std::shared_ptr{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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
allow,
allow_response,
- std::shared_ptr(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(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
deny,
deny_response,
- std::shared_ptr(new picojson::value(picojson::object())));
+ data);
}
void KeyManagerInstance::IsDataNameFound(const picojson::value& args,
diff --git a/src/secureelement/secureelement_instance.cc b/src/secureelement/secureelement_instance.cc
index 2930914..e486668 100644
--- a/src/secureelement/secureelement_instance.cc
+++ b/src/secureelement/secureelement_instance.cc
@@ -190,10 +190,12 @@ void SecureElementInstance::OpenSession(
Instance::PostMessage(this, response->serialize().c_str());
};
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
TaskQueue::GetInstance().Queue(
open_session,
open_session_response,
- std::shared_ptr(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
- ( open, get_response, std::shared_ptr(new picojson::value(picojson::object())));
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
+ TaskQueue::GetInstance().Queue(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
- ( open, get_response, std::shared_ptr(new picojson::value(picojson::object())));
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
+ TaskQueue::GetInstance().Queue(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
- ( open, get_response, std::shared_ptr(new picojson::value(picojson::object())));
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
+ TaskQueue::GetInstance().Queue(open, get_response, data);
}
} // namespace secureelement
diff --git a/src/secureelement/secureelement_seservice.cc b/src/secureelement/secureelement_seservice.cc
index c86adc3..290bd94 100644
--- a/src/secureelement/secureelement_seservice.cc
+++ b/src/secureelement/secureelement_seservice.cc
@@ -131,11 +131,13 @@ void SEService::GetReaders(double callback_id) {
return;
}
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
// everything's fine, get the readers, send the response
TaskQueue::GetInstance().Queue(
get_readers,
get_readers_response,
- std::shared_ptr(new picojson::value(picojson::object())));
+ data);
}
void SEService::RegisterSEListener() {
diff --git a/src/sensor/sensor_service.cc b/src/sensor/sensor_service.cc
index c188191..cdb0914 100644
--- a/src/sensor/sensor_service.cc
+++ b/src/sensor/sensor_service.cc
@@ -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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
start,
start_result,
- std::shared_ptr{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{new picojson::value{picojson::object()}};
+
TaskQueue::GetInstance().Queue(
get_data,
get_data_result,
- std::shared_ptr{new picojson::value{picojson::object()}});
+ data);
ReportSuccess(out);
}
diff --git a/src/systeminfo/systeminfo_manager.cc b/src/systeminfo/systeminfo_manager.cc
index 70c43bf..8634b73 100644
--- a/src/systeminfo/systeminfo_manager.cc
+++ b/src/systeminfo/systeminfo_manager.cc
@@ -424,8 +424,9 @@ void SysteminfoManager::GetPropertyValue(const picojson::value& args, picojson::
Instance::PostMessage(instance_, response->serialize().c_str());
};
- TaskQueue::GetInstance().Queue
- (get, get_response, std::shared_ptr(new picojson::value(picojson::object())));
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
+ TaskQueue::GetInstance().Queue(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
- (get, get_response, std::shared_ptr(new picojson::value(picojson::object())));
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
+ TaskQueue::GetInstance().Queue(get, get_response, data);
}
void SysteminfoManager::GetTotalMemory(const picojson::value& args, picojson::object* out) {
diff --git a/src/systemsetting/systemsetting_instance.cc b/src/systemsetting/systemsetting_instance.cc
index 9eb7d2a..3f318d7 100755
--- a/src/systemsetting/systemsetting_instance.cc
+++ b/src/systemsetting/systemsetting_instance.cc
@@ -86,8 +86,9 @@ void SystemSettingInstance::getProperty(const picojson::value& args, picojson::o
Instance::PostMessage(this, response->serialize().c_str());
};
- TaskQueue::GetInstance().Queue
- (get, get_response, std::shared_ptr(new picojson::value(picojson::object())));
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
+ TaskQueue::GetInstance().Queue(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
- (get, std::shared_ptr(new picojson::value(picojson::object())));
+ auto data = std::shared_ptr(new picojson::value(picojson::object()));
+
+ TaskQueue::GetInstance().Async(get, data);
}
PlatformResult SystemSettingInstance::setPlatformPropertyValue(
--
2.7.4