summaryrefslogtreecommitdiff
path: root/src/components/remote_control/src/message_helper.cc
diff options
context:
space:
mode:
Diffstat (limited to 'src/components/remote_control/src/message_helper.cc')
-rw-r--r--src/components/remote_control/src/message_helper.cc154
1 files changed, 0 insertions, 154 deletions
diff --git a/src/components/remote_control/src/message_helper.cc b/src/components/remote_control/src/message_helper.cc
deleted file mode 100644
index 140e0a977a..0000000000
--- a/src/components/remote_control/src/message_helper.cc
+++ /dev/null
@@ -1,154 +0,0 @@
-/*
- Copyright (c) 2017, Ford Motor Company
- All rights reserved.
-
- Redistribution and use in source and binary forms, with or without
- modification, are permitted provided that the following conditions are met:
-
- Redistributions of source code must retain the above copyright notice, this
- list of conditions and the following disclaimer.
-
- Redistributions in binary form must reproduce the above copyright notice,
- this list of conditions and the following
- disclaimer in the documentation and/or other materials provided with the
- distribution.
-
- Neither the name of the Ford Motor Company nor the names of its contributors
- may be used to endorse or promote products derived from this software
- without specific prior written permission.
-
- THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
- AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
- IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
- ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
- LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
- CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
- SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
- INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
- CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
- ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
- POSSIBILITY OF SUCH DAMAGE.
- */
-
-#include <string>
-#include "remote_control/message_helper.h"
-#include "remote_control/rc_module_constants.h"
-#include "utils/make_shared.h"
-
-namespace remote_control {
-using functional_modules::RCFunctionID;
-namespace {
-std::map<RCFunctionID, std::string> GenerateAPINames() {
- std::map<RCFunctionID, std::string> result;
- result.insert(std::make_pair<RCFunctionID, std::string>(
- RCFunctionID::BUTTON_PRESS, "ButtonPress"));
- result.insert(std::make_pair<RCFunctionID, std::string>(
- RCFunctionID::GET_INTERIOR_VEHICLE_DATA, "GetInteriorVehicleData"));
- result.insert(std::make_pair<RCFunctionID, std::string>(
- RCFunctionID::SET_INTERIOR_VEHICLE_DATA, "SetInteriorVehicleData"));
- result.insert(std::make_pair<RCFunctionID, std::string>(
- RCFunctionID::ON_INTERIOR_VEHICLE_DATA, "OnInteriorVehicleData"));
- result.insert(std::make_pair<RCFunctionID, std::string>(
- RCFunctionID::ON_REMOTE_CONTROL_SETTINGS, "OnRemoteControlSettings"));
- return result;
-}
-
-std::map<std::string, hmi_apis::Common_RCAccessMode::eType> access_modes{
- {enums_value::kAutoAllow, hmi_apis::Common_RCAccessMode::AUTO_ALLOW},
- {enums_value::kAutoDeny, hmi_apis::Common_RCAccessMode::AUTO_DENY},
- {enums_value::kAskDriver, hmi_apis::Common_RCAccessMode::ASK_DRIVER}};
-}
-
-const std::map<RCFunctionID, std::string> MessageHelper::kMobileAPINames =
- GenerateAPINames();
-
-const std::string MessageHelper::GetMobileAPIName(RCFunctionID func_id) {
- std::map<RCFunctionID, std::string>::const_iterator it =
- kMobileAPINames.find(func_id);
- if (kMobileAPINames.end() != it) {
- return it->second;
- } else {
- return "";
- }
-}
-
-std::string MessageHelper::ValueToString(const Json::Value& value) {
- Json::FastWriter writer;
-
- return writer.write(value);
-}
-
-Json::Value MessageHelper::StringToValue(const std::string& string) {
- Json::Reader reader;
- Json::Value json;
-
- return reader.parse(string, json) ? json
- : Json::Value(Json::ValueType::nullValue);
-}
-
-bool IsMember(const Json::Value& value, const std::string& key) {
- if (!value.isObject()) {
- return false;
- }
-
- return value.isMember(key);
-}
-
-application_manager::MessagePtr MessageHelper::CreateHmiRequest(
- const char* function_id,
- const uint32_t hmi_app_id,
- const Json::Value& message_params,
- RemotePluginInterface& rc_module) {
- using namespace json_keys;
- Json::Value msg;
-
- msg[json_keys::kId] = rc_module.service()->GetNextCorrelationID();
-
- msg[json_keys::kJsonrpc] = "2.0";
- msg[json_keys::kMethod] = function_id;
- if (!message_params.isNull()) {
- msg[json_keys::kParams] = message_params;
- }
-
- msg[json_keys::kParams][json_keys::kAppId] = hmi_app_id;
-
- Json::FastWriter writer;
- application_manager::MessagePtr message_to_send =
- utils::MakeShared<application_manager::Message>(
- application_manager::Message(
- protocol_handler::MessagePriority::kDefault));
- message_to_send->set_protocol_version(
- protocol_handler::MajorProtocolVersion::PROTOCOL_VERSION_HMI);
- message_to_send->set_correlation_id(msg[json_keys::kId].asInt());
- message_to_send->set_function_name(msg[json_keys::kMethod].asString());
- std::string json_msg = writer.write(msg);
- message_to_send->set_json_message(json_msg);
- message_to_send->set_message_type(application_manager::MessageType::kRequest);
-
- return message_to_send;
-}
-
-hmi_apis::Common_RCAccessMode::eType MessageHelper::AccessModeFromString(
- const std::string& access_mode) {
- std::map<std::string, hmi_apis::Common_RCAccessMode::eType>::const_iterator
- mode = access_modes.find(access_mode);
- return access_modes.end() != mode
- ? mode->second
- : hmi_apis::Common_RCAccessMode::INVALID_ENUM;
-}
-
-std::string MessageHelper::AccessModeToString(
- const hmi_apis::Common_RCAccessMode::eType access_mode) {
- std::map<std::string, hmi_apis::Common_RCAccessMode::eType>::const_iterator
- it = access_modes.begin();
- for (; access_modes.end() != it; ++it) {
- if (access_mode == it->second) {
- return it->first;
- }
- }
- const std::string error = "UNKNOW_ACCESS_MODE";
- DCHECK_OR_RETURN(false, error);
- return error;
-}
-
-} // namespace remote_control