From: Pawel Andruszkiewicz Date: Mon, 28 Sep 2015 12:16:13 +0000 (+0200) Subject: Fixed MRM-01 errors detected by C++Test. X-Git-Tag: accepted/tizen/mobile/20151026.233336^2^2~72 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6de05a9f5787906f4554c99e7b1e860bf3522af7;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git 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 --- 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(