From: Szymon Jastrzebski Date: Wed, 21 Nov 2018 16:12:23 +0000 (+0100) Subject: [PPM] Removing unnecessary static casts X-Git-Tag: submit/tizen_5.0/20181126.103411~3^2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=refs%2Fchanges%2F41%2F193541%2F2;p=platform%2Fcore%2Fapi%2Fwebapi-plugins.git [PPM] Removing unnecessary static casts + SDL-42 + Useless variables removed + Fixed memory leak [Verification] TCT PPM 100% Change-Id: Iccc3d6875bae6c2883f44977c22db812d73e5d01 Signed-off-by: Szymon Jastrzebski --- diff --git a/src/common/common.gyp b/src/common/common.gyp index f65dd109..be35db29 100644 --- a/src/common/common.gyp +++ b/src/common/common.gyp @@ -117,7 +117,7 @@ ], }, }, + 'defines': ['PICOJSON_USE_RVALUE_REFERENCE'], }, ], - 'defines': ['PICOJSON_USE_RVALUE_REFERENCE'], } diff --git a/src/ppm/ppm_instance.cc b/src/ppm/ppm_instance.cc index be7d4155..039e4303 100644 --- a/src/ppm/ppm_instance.cc +++ b/src/ppm/ppm_instance.cc @@ -117,11 +117,11 @@ void PPMInstance::ResponseCallback(ppm_call_cause_e cause, ppm_request_result_e picojson::value event = picojson::value(picojson::object()); picojson::object& obj = event.get(); - obj.insert(std::make_pair("callbackId", picojson::value(data->callbackId))); + obj.emplace(std::make_pair("callbackId", picojson::value(data->callbackId))); if (PRIVACY_PRIVILEGE_MANAGER_CALL_CAUSE_ANSWER == cause) { - obj.insert(std::make_pair("result", picojson::value(CheckRequestResultToString(result)))); - obj.insert(std::make_pair("privilege", picojson::value(privilege))); + obj.emplace(std::make_pair("result", picojson::value(CheckRequestResultToString(result)))); + obj.emplace(std::make_pair("privilege", picojson::value(privilege))); } else { LogAndReportError( common::PlatformResult(common::ErrorCode::ABORT_ERR, "Get callback data failed"), &obj); @@ -140,20 +140,21 @@ void PPMInstance::ResponseMultipleCallback(ppm_call_cause_e cause, picojson::value event = picojson::value(picojson::object()); picojson::object& obj = event.get(); - obj.insert(std::make_pair("callbackId", picojson::value(data->callbackId))); + obj.emplace(std::make_pair("callbackId", picojson::value(data->callbackId))); if (PRIVACY_PRIVILEGE_MANAGER_CALL_CAUSE_ANSWER == cause) { picojson::value result_array = picojson::value(picojson::array()); picojson::array& array_obj = result_array.get(); + array_obj.reserve(privileges_count); for (size_t i = 0; i < privileges_count; i++) { picojson::value result_elem = picojson::value(picojson::object()); picojson::object& obj = result_elem.get(); obj["privilege"] = picojson::value(privileges[i]); obj["result"] = picojson::value(CheckRequestResultToString(result[i])); - array_obj.push_back(result_elem); + array_obj.push_back(std::move(result_elem)); } - obj.insert(std::make_pair("result", result_array)); + obj.emplace(std::make_pair("result", result_array)); } else { LogAndReportError( common::PlatformResult(common::ErrorCode::ABORT_ERR, "Get callback data failed"), &obj); @@ -184,17 +185,15 @@ void PPMInstance::checkPermissions(const picojson::value& args, picojson::object ScopeLogger(); const picojson::array& privileges = args.get("privileges").get(); - unsigned int size = static_cast(privileges.size()); - std::vector privilege_array; - size_t i = 0; + privilege_array.reserve(privileges.size()); - for (auto iter = privileges.begin(); iter != privileges.end(); ++iter, ++i) { + for (auto iter = privileges.begin(); iter != privileges.end(); ++iter) { privilege_array.push_back(iter->get().c_str()); } - std::vector results(size); - int ret = ppm_check_permissions(privilege_array.data(), size, results.data()); + std::vector results(privileges.size()); + int ret = ppm_check_permissions(privilege_array.data(), privileges.size(), results.data()); if (PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE != ret) { LogAndReportError(convertError(ret), &out, @@ -205,15 +204,16 @@ void PPMInstance::checkPermissions(const picojson::value& args, picojson::object picojson::value result_array = picojson::value(picojson::array()); picojson::array& array_obj = result_array.get(); + array_obj.reserve(privileges.size()); - for (size_t i = 0; i < size; i++) { + for (size_t i = 0; i < privileges.size(); i++) { picojson::value result_elem = picojson::value(picojson::object()); picojson::object& obj = result_elem.get(); obj["privilege"] = picojson::value(privilege_array[i]); obj["type"] = picojson::value(CheckResultToString(results[i])); - array_obj.push_back(result_elem); + array_obj.push_back(std::move(result_elem)); } ReportSuccess(result_array, out); @@ -247,14 +247,11 @@ void PPMInstance::requestPermissions(const picojson::value& args, picojson::obje ScopeLogger(); const double callback_id = args.get("callbackId").get(); - const picojson::array& privileges = args.get("privileges").get(); - unsigned int size = static_cast(privileges.size()); - std::vector privilege_array; - size_t i = 0; + privilege_array.reserve(privileges.size()); - for (auto iter = privileges.begin(); iter != privileges.end(); ++iter, ++i) { + for (auto iter = privileges.begin(); iter != privileges.end(); ++iter) { privilege_array.push_back(iter->get().c_str()); } @@ -262,10 +259,11 @@ void PPMInstance::requestPermissions(const picojson::value& args, picojson::obje user_data->_instance = this; user_data->callbackId = callback_id; - int ret = ppm_request_permissions(privilege_array.data(), size, ResponseMultipleCallback, - static_cast(user_data)); + int ret = ppm_request_permissions(privilege_array.data(), privileges.size(), + ResponseMultipleCallback, static_cast(user_data)); if (PRIVACY_PRIVILEGE_MANAGER_ERROR_NONE != ret) { + delete user_data; LogAndReportError(convertError(ret), &out, ("checkPermission error: %d (%s)", ret, get_error_message(ret))); return;