summaryrefslogtreecommitdiff
path: root/src/components
diff options
context:
space:
mode:
authorJackLivio <jack@livio.io>2018-02-02 17:55:53 -0500
committerGitHub <noreply@github.com>2018-02-02 17:55:53 -0500
commit31c06e498ca99e45ffe37799ee03109e0877f416 (patch)
tree00c1a6f82345c53e4facd9b0554bc25c1607102a /src/components
parent74ccd312dfff41736f7b8c93bcd8813146d76457 (diff)
parent1087cfe152f8f4ce27383c8f96fcdf1f2e94266a (diff)
downloadsdl_core-31c06e498ca99e45ffe37799ee03109e0877f416.tar.gz
Merge branch 'develop' into feature/boost_websocket_hmi_message_adapterfeature/boost_websocket_hmi_message_adapter
Diffstat (limited to 'src/components')
-rw-r--r--src/components/application_manager/CMakeLists.txt6
-rw-r--r--src/components/application_manager/src/application_manager_impl.cc35
-rw-r--r--src/components/application_manager/src/commands/mobile/get_vehicle_data_request.cc2
-rw-r--r--src/components/application_manager/src/commands/mobile/unsubscribe_vehicle_data_request.cc10
-rw-r--r--src/components/application_manager/src/message_helper/message_helper.cc2
-rw-r--r--src/components/dbus/CMakeLists.txt5
-rw-r--r--src/components/dbus/codegen/introspection_xml.cc327
-rw-r--r--src/components/dbus/include/dbus/dbus_adapter.h1
-rw-r--r--src/components/dbus/src/dbus_adapter.cc4
-rw-r--r--src/components/dbus/src/dbus_message_controller.cc2
-rw-r--r--src/components/dbus/src/introspection_xml.cc327
-rw-r--r--src/components/dbus/src/message_descriptions.cc11766
-rw-r--r--src/components/dbus/test/CMakeLists.txt3
-rw-r--r--src/components/dbus/test/dbus_message_controller_test.cc8
-rw-r--r--src/components/dbus/test/include/dbus/mock_dbus_message_controller.h (renamed from src/components/hmi_message_handler/test/include/hmi_message_handler/mock_dbus_message_controller.h)14
-rw-r--r--src/components/dbus/test/include/dbus/mock_subscriber.h (renamed from src/components/hmi_message_handler/test/include/hmi_message_handler/mock_subscriber.h)10
-rw-r--r--src/components/dbus/test/mock_subscriber.cc (renamed from src/components/hmi_message_handler/test/mock_subscriber.cc)10
-rw-r--r--src/components/formatters/test/CSmartFactory_test.cc84
-rw-r--r--src/components/formatters/test/cFormatterJsonSDLRPCv1_test.cc21
-rw-r--r--src/components/formatters/test/cFormatterJsonSDLRPCv2_test.cc25
-rw-r--r--src/components/formatters/test/formatter_json_rpc_test.cc4
-rw-r--r--src/components/hmi_message_handler/CMakeLists.txt2
-rw-r--r--src/components/hmi_message_handler/test/CMakeLists.txt13
-rw-r--r--src/components/include/rpc_base/validation_report.h (renamed from src/components/rpc_base/include/rpc_base/validation_report.h)7
-rw-r--r--src/components/interfaces/QT_HMI_API.xml1528
-rw-r--r--src/components/rpc_base/test/CMakeLists.txt1
-rw-r--r--src/components/rpc_base/test/rpc_base_test.cc22
-rw-r--r--src/components/rpc_base/test/validation_report_test.cc2
-rw-r--r--src/components/smart_objects/include/smart_objects/always_false_schema_item.h9
-rw-r--r--src/components/smart_objects/include/smart_objects/always_true_schema_item.h9
-rw-r--r--src/components/smart_objects/include/smart_objects/array_schema_item.h14
-rw-r--r--src/components/smart_objects/include/smart_objects/default_shema_item.h30
-rw-r--r--src/components/smart_objects/include/smart_objects/enum_schema_item.h30
-rw-r--r--src/components/smart_objects/include/smart_objects/number_schema_item.h35
-rw-r--r--src/components/smart_objects/include/smart_objects/object_schema_item.h9
-rw-r--r--src/components/smart_objects/include/smart_objects/schema_item.h19
-rw-r--r--src/components/smart_objects/include/smart_objects/smart_object.h41
-rw-r--r--src/components/smart_objects/include/smart_objects/smart_schema.h21
-rw-r--r--src/components/smart_objects/include/smart_objects/string_schema_item.h9
-rw-r--r--src/components/smart_objects/src/always_false_schema_item.cc7
-rw-r--r--src/components/smart_objects/src/always_true_schema_item.cc5
-rw-r--r--src/components/smart_objects/src/array_schema_item.cc27
-rw-r--r--src/components/smart_objects/src/object_schema_item.cc16
-rw-r--r--src/components/smart_objects/src/schema_item.cc7
-rw-r--r--src/components/smart_objects/src/smart_object.cc10
-rw-r--r--src/components/smart_objects/src/smart_schema.cc10
-rw-r--r--src/components/smart_objects/src/string_schema_item.cc21
-rw-r--r--src/components/smart_objects/test/AlwaysFalseSchemaItem_test.cc19
-rw-r--r--src/components/smart_objects/test/AlwaysTrueSchemaItem_test.cc19
-rw-r--r--src/components/smart_objects/test/ArraySchemaItem_test.cc90
-rw-r--r--src/components/smart_objects/test/BoolSchemaItem_test.cc38
-rw-r--r--src/components/smart_objects/test/CObjectSchemaItem_test.cc119
-rw-r--r--src/components/smart_objects/test/EnumSchemaItem_test.cc33
-rw-r--r--src/components/smart_objects/test/NumberSchemaItem_test.cc202
-rw-r--r--src/components/smart_objects/test/StringSchemaItem_test.cc73
-rw-r--r--src/components/telemetry_monitor/test/CMakeLists.txt2
-rw-r--r--src/components/transport_manager/CMakeLists.txt5
-rw-r--r--src/components/transport_manager/include/transport_manager/usb/libusb/platform_usb_device.h2
-rw-r--r--src/components/transport_manager/include/transport_manager/usb/libusb/usb_handler.h2
-rw-r--r--src/components/transport_manager/src/usb/libusb/usb_connection.cc2
-rw-r--r--src/components/transport_manager/test/CMakeLists.txt2
61 files changed, 14706 insertions, 472 deletions
diff --git a/src/components/application_manager/CMakeLists.txt b/src/components/application_manager/CMakeLists.txt
index 21f92418fe..e9f2f8ec7b 100644
--- a/src/components/application_manager/CMakeLists.txt
+++ b/src/components/application_manager/CMakeLists.txt
@@ -345,9 +345,6 @@ set (HMI_COMMANDS_SOURCES
${COMMANDS_SOURCE_DIR}/hmi/rc_get_capabilities_response.cc
${COMMANDS_SOURCE_DIR}/hmi/ui_send_haptic_data_request.cc
${COMMANDS_SOURCE_DIR}/hmi/ui_send_haptic_data_response.cc
-)
-
-set (HMI_COMMANDS_SOURCES_JSON
${COMMANDS_SOURCE_DIR}/hmi/vi_get_vehicle_data_request.cc
${COMMANDS_SOURCE_DIR}/hmi/vi_get_vehicle_data_response.cc
${COMMANDS_SOURCE_DIR}/hmi/vi_subscribe_vehicle_data_request.cc
@@ -357,6 +354,9 @@ set (HMI_COMMANDS_SOURCES_JSON
${COMMANDS_SOURCE_DIR}/hmi/on_vi_vehicle_data_notification.cc
)
+set (HMI_COMMANDS_SOURCES_JSON
+)
+
set (HMI_COMMANDS_SOURCES_DBUS
${COMMANDS_SOURCE_DIR}/hmi/on_vi_gps_data_notification.cc
${COMMANDS_SOURCE_DIR}/hmi/on_vi_speed_notification.cc
diff --git a/src/components/application_manager/src/application_manager_impl.cc b/src/components/application_manager/src/application_manager_impl.cc
index 96e8a1314b..4e13da694b 100644
--- a/src/components/application_manager/src/application_manager_impl.cc
+++ b/src/components/application_manager/src/application_manager_impl.cc
@@ -2259,9 +2259,12 @@ bool ApplicationManagerImpl::ConvertMessageToSO(
message.function_id(),
message.type(),
message.correlation_id());
+
+ rpc::ValidationReport report("RPC");
+
if (!conversion_result ||
!mobile_so_factory().attachSchema(output, true) ||
- ((output.validate() != smart_objects::Errors::OK))) {
+ ((output.validate(&report) != smart_objects::Errors::OK))) {
LOG4CXX_WARN(logger_,
"Failed to parse string to smart object :"
<< message.json_message());
@@ -2271,6 +2274,9 @@ bool ApplicationManagerImpl::ConvertMessageToSO(
message.function_id(),
message.correlation_id(),
mobile_apis::Result::INVALID_DATA));
+
+ (*response)[strings::msg_params][strings::info] =
+ rpc::PrettyFormat(report);
ManageMobileCommand(response, commands::Command::ORIGIN_SDL);
return false;
}
@@ -2318,8 +2324,18 @@ bool ApplicationManagerImpl::ConvertMessageToSO(
LOG4CXX_WARN(logger_, "Failed to attach schema to object.");
return false;
}
- if (output.validate() != smart_objects::Errors::OK) {
- LOG4CXX_ERROR(logger_, "Incorrect parameter from HMI");
+
+ rpc::ValidationReport report("RPC");
+
+ if (output.validate(&report) != smart_objects::Errors::OK) {
+ LOG4CXX_ERROR(logger_,
+ "Incorrect parameter from HMI"
+ << rpc::PrettyFormat(report));
+
+ output.erase(strings::msg_params);
+ output[strings::params][hmi_response::code] =
+ hmi_apis::Common_Result::INVALID_DATA;
+ output[strings::msg_params][strings::info] = rpc::PrettyFormat(report);
return false;
}
break;
@@ -2495,8 +2511,11 @@ MessageValidationResult ApplicationManagerImpl::ValidateMessageBySchema(
if (!mobile_so_factory().attachSchema(so, true)) {
return INVALID_METADATA;
}
-
- if (so.validate() != smart_objects::Errors::OK) {
+ rpc::ValidationReport report("RPC");
+ if (so.validate(&report) != smart_objects::Errors::OK) {
+ LOG4CXX_WARN(logger_,
+ "validate() failed for Mobile message - "
+ << rpc::PrettyFormat(report));
return SCHEMA_MISMATCH;
}
break;
@@ -2515,7 +2534,11 @@ MessageValidationResult ApplicationManagerImpl::ValidateMessageBySchema(
return INVALID_METADATA;
}
- if (so.validate() != smart_objects::Errors::OK) {
+ rpc::ValidationReport report("RPC");
+ if (so.validate(&report) != smart_objects::Errors::OK) {
+ LOG4CXX_WARN(logger_,
+ "validate() failed for HMI message - "
+ << rpc::PrettyFormat(report));
return SCHEMA_MISMATCH;
}
break;
diff --git a/src/components/application_manager/src/commands/mobile/get_vehicle_data_request.cc b/src/components/application_manager/src/commands/mobile/get_vehicle_data_request.cc
index 84c6e0ba7c..f81d0a8c2a 100644
--- a/src/components/application_manager/src/commands/mobile/get_vehicle_data_request.cc
+++ b/src/components/application_manager/src/commands/mobile/get_vehicle_data_request.cc
@@ -57,7 +57,7 @@ void GetVehicleDataRequest::Run() {
int32_t app_id =
(*message_)[strings::params][strings::connection_key].asUInt();
- ApplicationSharedPtr app = appplication_manager.application(app_id);
+ ApplicationSharedPtr app = application_manager_.application(app_id);
if (!app) {
LOG4CXX_ERROR(logger_, "NULL pointer");
diff --git a/src/components/application_manager/src/commands/mobile/unsubscribe_vehicle_data_request.cc b/src/components/application_manager/src/commands/mobile/unsubscribe_vehicle_data_request.cc
index f7317d72f9..d6ad928bf7 100644
--- a/src/components/application_manager/src/commands/mobile/unsubscribe_vehicle_data_request.cc
+++ b/src/components/application_manager/src/commands/mobile/unsubscribe_vehicle_data_request.cc
@@ -253,6 +253,14 @@ void UnsubscribeVehicleDataRequest::on_event(const event_engine::Event& event) {
}
EndAwaitForInterface(HmiInterfaces::HMI_INTERFACE_VehicleInfo);
+ ApplicationSharedPtr app =
+ application_manager_.application(CommandRequestImpl::connection_key());
+
+ if (!app) {
+ LOG4CXX_ERROR(logger_, "NULL pointer.");
+ return;
+ }
+
#ifdef HMI_DBUS_API
for (HmiRequests::iterator it = hmi_requests_.begin();
it != hmi_requests_.end();
@@ -308,7 +316,7 @@ void UnsubscribeVehicleDataRequest::on_event(const event_engine::Event& event) {
}
SendResponse(any_arg_success, status, NULL, &response_params);
if (true == any_arg_success) {
- UpdateHash();
+ app->UpdateHash();
}
}
#else
diff --git a/src/components/application_manager/src/message_helper/message_helper.cc b/src/components/application_manager/src/message_helper/message_helper.cc
index 4ae6ce4024..f544b5161e 100644
--- a/src/components/application_manager/src/message_helper/message_helper.cc
+++ b/src/components/application_manager/src/message_helper/message_helper.cc
@@ -1120,7 +1120,7 @@ smart_objects::SmartObjectList MessageHelper::GetIVISubscriptionRequests(
if (true == msg_params.keyExists(sr.str) &&
true == msg_params[sr.str].asBool()) {
smart_objects::SmartObjectSPtr request =
- MessageHelper::CreateModuleInfoSO(sr.func_id);
+ MessageHelper::CreateModuleInfoSO(sr.func_id, app_mngr);
(*request)[strings::msg_params] = msg_params;
hmi_requests.push_back(request);
}
diff --git a/src/components/dbus/CMakeLists.txt b/src/components/dbus/CMakeLists.txt
index 211310d885..26ff9373bf 100644
--- a/src/components/dbus/CMakeLists.txt
+++ b/src/components/dbus/CMakeLists.txt
@@ -44,7 +44,7 @@ include_directories (
set(PATHS
${CMAKE_CURRENT_SOURCE_DIR}/include
${CMAKE_CURRENT_SOURCE_DIR}/src
- ${CMAKE_CURRENT_BINARY_DIR}/introspection_xml.cc
+ ${CMAKE_CURRENT_SOURCE_DIR}/src/introspection_xml.cc
${CMAKE_CURRENT_BINARY_DIR}/message_descriptions.cc
)
collect_sources(SOURCES "${PATHS}")
@@ -52,7 +52,7 @@ collect_sources(SOURCES "${PATHS}")
set(LIBRARIES
HMI_API
Utils
- dbus-1 -L${DBUS_LIBS_DIRECTORY}
+ dbus-1
)
add_custom_command(
@@ -74,7 +74,6 @@ add_custom_command(
)
add_library("DBus" ${SOURCES})
-add_dependecnies("DBus" Utils install-3rd_party_dbus)
target_link_libraries("DBus" "${LIBRARIES}")
diff --git a/src/components/dbus/codegen/introspection_xml.cc b/src/components/dbus/codegen/introspection_xml.cc
new file mode 100644
index 0000000000..6896e7d137
--- /dev/null
+++ b/src/components/dbus/codegen/introspection_xml.cc
@@ -0,0 +1,327 @@
+// Warning! This file is generated by 'make_introspection_c.py'. Edit at your own risk.
+/**
+ * @file instrospections_xml.cc
+ * @brief D-Bus introspection XML as C-string
+ *
+ * This file is a part of HMI D-Bus layer.
+ */
+// Copyright (c) 2013, 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.
+
+char introspection_xml[] = {
+ 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x6e, 0x6f,
+ 0x64, 0x65, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x22, 0x2d,
+ 0x2f, 0x2f, 0x66, 0x72, 0x65, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f,
+ 0x70, 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, 0x44, 0x2d, 0x42, 0x55, 0x53,
+ 0x20, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x49, 0x6e, 0x74, 0x72,
+ 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e,
+ 0x30, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70,
+ 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64,
+ 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x73,
+ 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x64, 0x62, 0x75,
+ 0x73, 0x2f, 0x31, 0x2e, 0x30, 0x2f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x2e, 0x64, 0x74, 0x64, 0x22, 0x3e, 0x0a, 0x3c,
+ 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x2f,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6f, 0x72, 0x64, 0x2f, 0x68, 0x6d, 0x69,
+ 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x66,
+ 0x6f, 0x72, 0x64, 0x2e, 0x68, 0x6d, 0x69, 0x2e, 0x73, 0x64, 0x6c, 0x2e,
+ 0x42, 0x61, 0x73, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e,
+ 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e,
+ 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f,
+ 0x6e, 0x53, 0x44, 0x4c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61,
+ 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61,
+ 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x28, 0x73, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73,
+ 0x29, 0x28, 0x73, 0x73, 0x28, 0x62, 0x69, 0x29, 0x28, 0x62, 0x62, 0x29,
+ 0x29, 0x73, 0x28, 0x62, 0x61, 0x28, 0x73, 0x69, 0x29, 0x29, 0x28, 0x62,
+ 0x61, 0x73, 0x29, 0x69, 0x69, 0x62, 0x28, 0x62, 0x61, 0x69, 0x29, 0x28,
+ 0x62, 0x62, 0x29, 0x28, 0x62, 0x61, 0x69, 0x29, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x74, 0x74, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x28, 0x62, 0x61, 0x28, 0x73, 0x69, 0x29, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x76, 0x72, 0x53, 0x79, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x73,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x61, 0x73,
+ 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x56, 0x72,
+ 0x47, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x72, 0x73, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70,
+ 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c,
+ 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e,
+ 0x41, 0x70, 0x70, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
+ 0x72, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x6f, 0x6e,
+ 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+ 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x53, 0x44, 0x4c, 0x43, 0x6c,
+ 0x6f, 0x73, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x50,
+ 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x73, 0x65,
+ 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69,
+ 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x20,
+ 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20,
+ 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x79, 0x6e, 0x63,
+ 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f,
+ 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6f, 0x72, 0x64, 0x2e, 0x68, 0x6d, 0x69,
+ 0x2e, 0x73, 0x64, 0x6c, 0x2e, 0x55, 0x49, 0x22, 0x3e, 0x3c, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f,
+ 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
+ 0x61, 0x63, 0x65, 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
+ 0x63, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6d,
+ 0x2e, 0x66, 0x6f, 0x72, 0x64, 0x2e, 0x68, 0x6d, 0x69, 0x2e, 0x73, 0x64,
+ 0x6c, 0x2e, 0x53, 0x44, 0x4c, 0x22, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68,
+ 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x22, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74,
+ 0x43, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74,
+ 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x53, 0x44,
+ 0x4c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d,
+ 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x28, 0x73, 0x73, 0x28, 0x62, 0x69, 0x29, 0x28,
+ 0x62, 0x62, 0x29, 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d,
+ 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x65, 0x64,
+ 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x41, 0x70, 0x70, 0x50,
+ 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
+ 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x62, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70,
+ 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x61, 0x28, 0x73, 0x69, 0x28, 0x62, 0x62, 0x29,
+ 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x41,
+ 0x70, 0x70, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x6d,
+ 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64,
+ 0x65, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x73,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
+ 0x67, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62,
+ 0x69, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74,
+ 0x43, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74,
+ 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x28, 0x62, 0x61, 0x28, 0x73, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73,
+ 0x29, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73,
+ 0x29, 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74,
+ 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x4f, 0x66, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64,
+ 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20,
+ 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
+ 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x28, 0x73, 0x69, 0x28, 0x62, 0x62,
+ 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68,
+ 0x6f, 0x64, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
+ 0x44, 0x4c, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x43, 0x6f,
+ 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x6d,
+ 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74,
+ 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x43,
+ 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20,
+ 0x2f, 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c,
+ 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x47, 0x65, 0x74, 0x55, 0x52, 0x4c, 0x53, 0x22, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22,
+ 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72,
+ 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20,
+ 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f,
+ 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x72,
+ 0x6c, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62,
+ 0x61, 0x28, 0x73, 0x28, 0x62, 0x73, 0x29, 0x29, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x73,
+ 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x4f, 0x6e, 0x41, 0x70, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61,
+ 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x41, 0x70, 0x70, 0x50, 0x65, 0x72,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x76, 0x6f,
+ 0x6b, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28,
+ 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76,
+ 0x6f, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28,
+ 0x62, 0x61, 0x28, 0x73, 0x69, 0x28, 0x62, 0x62, 0x29, 0x29, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74,
+ 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70,
+ 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x61,
+ 0x69, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x53, 0x44, 0x4c, 0x43, 0x6f,
+ 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x73, 0x73, 0x28, 0x62, 0x69, 0x29, 0x28, 0x62, 0x62,
+ 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e,
+ 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e,
+ 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x00
+}; \ No newline at end of file
diff --git a/src/components/dbus/include/dbus/dbus_adapter.h b/src/components/dbus/include/dbus/dbus_adapter.h
index 9c78c428ca..42a2ac1140 100644
--- a/src/components/dbus/include/dbus/dbus_adapter.h
+++ b/src/components/dbus/include/dbus/dbus_adapter.h
@@ -35,6 +35,7 @@
#include <string>
#include "smart_objects/smart_object.h"
#include "dbus/schema.h"
+#include "dbus/message_descriptions.h"
struct DBusConnection;
struct DBusMessage;
diff --git a/src/components/dbus/src/dbus_adapter.cc b/src/components/dbus/src/dbus_adapter.cc
index d3f547a893..a46e8e8167 100644
--- a/src/components/dbus/src/dbus_adapter.cc
+++ b/src/components/dbus/src/dbus_adapter.cc
@@ -33,9 +33,11 @@
#include "dbus/dbus_adapter.h"
#include <dbus/dbus.h>
#include <sstream>
-#include "formatters/CSmartFactory.hpp"
+#include "formatters/CSmartFactory.h"
#include "utils/logger.h"
#include "smart_objects/smart_object.h"
+#include "introspection_xml.cc"
+#include "message_descriptions.cc"
using ford_message_descriptions::ParameterDescription;
namespace sos = NsSmartDeviceLink::NsJSONHandler::strings;
diff --git a/src/components/dbus/src/dbus_message_controller.cc b/src/components/dbus/src/dbus_message_controller.cc
index 166037e900..a8bd7a1050 100644
--- a/src/components/dbus/src/dbus_message_controller.cc
+++ b/src/components/dbus/src/dbus_message_controller.cc
@@ -31,7 +31,7 @@
*/
#include "dbus/dbus_message_controller.h"
-#include "formatters/CSmartFactory.hpp"
+#include "formatters/CSmartFactory.h"
namespace sos = NsSmartDeviceLink::NsJSONHandler::strings;
diff --git a/src/components/dbus/src/introspection_xml.cc b/src/components/dbus/src/introspection_xml.cc
new file mode 100644
index 0000000000..6896e7d137
--- /dev/null
+++ b/src/components/dbus/src/introspection_xml.cc
@@ -0,0 +1,327 @@
+// Warning! This file is generated by 'make_introspection_c.py'. Edit at your own risk.
+/**
+ * @file instrospections_xml.cc
+ * @brief D-Bus introspection XML as C-string
+ *
+ * This file is a part of HMI D-Bus layer.
+ */
+// Copyright (c) 2013, 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.
+
+char introspection_xml[] = {
+ 0x3c, 0x21, 0x44, 0x4f, 0x43, 0x54, 0x59, 0x50, 0x45, 0x20, 0x6e, 0x6f,
+ 0x64, 0x65, 0x20, 0x50, 0x55, 0x42, 0x4c, 0x49, 0x43, 0x20, 0x22, 0x2d,
+ 0x2f, 0x2f, 0x66, 0x72, 0x65, 0x65, 0x64, 0x65, 0x73, 0x6b, 0x74, 0x6f,
+ 0x70, 0x2f, 0x2f, 0x44, 0x54, 0x44, 0x20, 0x44, 0x2d, 0x42, 0x55, 0x53,
+ 0x20, 0x4f, 0x62, 0x6a, 0x65, 0x63, 0x74, 0x20, 0x49, 0x6e, 0x74, 0x72,
+ 0x6f, 0x73, 0x70, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x20, 0x31, 0x2e,
+ 0x30, 0x2f, 0x2f, 0x45, 0x4e, 0x22, 0x20, 0x22, 0x68, 0x74, 0x74, 0x70,
+ 0x3a, 0x2f, 0x2f, 0x77, 0x77, 0x77, 0x2e, 0x66, 0x72, 0x65, 0x65, 0x64,
+ 0x65, 0x73, 0x6b, 0x74, 0x6f, 0x70, 0x2e, 0x6f, 0x72, 0x67, 0x2f, 0x73,
+ 0x74, 0x61, 0x6e, 0x64, 0x61, 0x72, 0x64, 0x73, 0x2f, 0x64, 0x62, 0x75,
+ 0x73, 0x2f, 0x31, 0x2e, 0x30, 0x2f, 0x69, 0x6e, 0x74, 0x72, 0x6f, 0x73,
+ 0x70, 0x65, 0x63, 0x74, 0x2e, 0x64, 0x74, 0x64, 0x22, 0x3e, 0x0a, 0x3c,
+ 0x6e, 0x6f, 0x64, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x2f,
+ 0x63, 0x6f, 0x6d, 0x2f, 0x66, 0x6f, 0x72, 0x64, 0x2f, 0x68, 0x6d, 0x69,
+ 0x22, 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6d, 0x2e, 0x66,
+ 0x6f, 0x72, 0x64, 0x2e, 0x68, 0x6d, 0x69, 0x2e, 0x73, 0x64, 0x6c, 0x2e,
+ 0x42, 0x61, 0x73, 0x69, 0x63, 0x43, 0x6f, 0x6d, 0x6d, 0x75, 0x6e, 0x69,
+ 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x3e, 0x3c, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e,
+ 0x52, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x41, 0x75, 0x64, 0x69, 0x6f, 0x53,
+ 0x6f, 0x75, 0x72, 0x63, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e,
+ 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f,
+ 0x6e, 0x53, 0x44, 0x4c, 0x50, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x63, 0x65, 0x43, 0x6f, 0x6d, 0x70, 0x6c, 0x65, 0x74, 0x65, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x46, 0x69, 0x6c, 0x65, 0x52,
+ 0x65, 0x6d, 0x6f, 0x76, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x4e,
+ 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x73,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x65, 0x54, 0x79, 0x70, 0x65, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61,
+ 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61,
+ 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x41, 0x70, 0x70, 0x52, 0x65, 0x67,
+ 0x69, 0x73, 0x74, 0x65, 0x72, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x6c,
+ 0x69, 0x63, 0x61, 0x74, 0x69, 0x6f, 0x6e, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x28, 0x73, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73,
+ 0x29, 0x28, 0x73, 0x73, 0x28, 0x62, 0x69, 0x29, 0x28, 0x62, 0x62, 0x29,
+ 0x29, 0x73, 0x28, 0x62, 0x61, 0x28, 0x73, 0x69, 0x29, 0x29, 0x28, 0x62,
+ 0x61, 0x73, 0x29, 0x69, 0x69, 0x62, 0x28, 0x62, 0x61, 0x69, 0x29, 0x28,
+ 0x62, 0x62, 0x29, 0x28, 0x62, 0x61, 0x69, 0x29, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x74, 0x74, 0x73, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x28, 0x62, 0x61, 0x28, 0x73, 0x69, 0x29, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x76, 0x72, 0x53, 0x79, 0x6e, 0x6f, 0x6e, 0x79, 0x6d, 0x73,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x61, 0x73,
+ 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x73, 0x75, 0x6d, 0x65, 0x56, 0x72,
+ 0x47, 0x72, 0x61, 0x6d, 0x6d, 0x61, 0x72, 0x73, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x70,
+ 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c,
+ 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e,
+ 0x41, 0x70, 0x70, 0x55, 0x6e, 0x72, 0x65, 0x67, 0x69, 0x73, 0x74, 0x65,
+ 0x72, 0x65, 0x64, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x6e, 0x65, 0x78, 0x70, 0x65, 0x63, 0x74,
+ 0x65, 0x64, 0x44, 0x69, 0x73, 0x63, 0x6f, 0x6e, 0x6e, 0x65, 0x63, 0x74,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x50, 0x6c, 0x61, 0x79, 0x54, 0x6f, 0x6e,
+ 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x65, 0x74, 0x68, 0x6f,
+ 0x64, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x53, 0x44, 0x4c, 0x43, 0x6c,
+ 0x6f, 0x73, 0x65, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x50,
+ 0x75, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6f, 0x66, 0x66, 0x73, 0x65,
+ 0x74, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69,
+ 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x6c, 0x65, 0x6e, 0x67, 0x74, 0x68, 0x22, 0x20,
+ 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20,
+ 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x66, 0x69, 0x6c, 0x65, 0x53, 0x69, 0x7a, 0x65, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x79, 0x6e, 0x63,
+ 0x46, 0x69, 0x6c, 0x65, 0x4e, 0x61, 0x6d, 0x65, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x73, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x66, 0x69, 0x6c, 0x65,
+ 0x54, 0x79, 0x70, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x70, 0x65, 0x72, 0x73, 0x69, 0x73, 0x74, 0x65,
+ 0x6e, 0x74, 0x46, 0x69, 0x6c, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f,
+ 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x74,
+ 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65,
+ 0x72, 0x66, 0x61, 0x63, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x63, 0x6f, 0x6d, 0x2e, 0x66, 0x6f, 0x72, 0x64, 0x2e, 0x68, 0x6d, 0x69,
+ 0x2e, 0x73, 0x64, 0x6c, 0x2e, 0x55, 0x49, 0x22, 0x3e, 0x3c, 0x73, 0x69,
+ 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f,
+ 0x6e, 0x52, 0x65, 0x63, 0x6f, 0x72, 0x64, 0x53, 0x74, 0x61, 0x72, 0x74,
+ 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67,
+ 0x6e, 0x61, 0x6c, 0x3e, 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66,
+ 0x61, 0x63, 0x65, 0x3e, 0x3c, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61,
+ 0x63, 0x65, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x63, 0x6f, 0x6d,
+ 0x2e, 0x66, 0x6f, 0x72, 0x64, 0x2e, 0x68, 0x6d, 0x69, 0x2e, 0x73, 0x64,
+ 0x6c, 0x2e, 0x53, 0x44, 0x4c, 0x22, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68,
+ 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x41, 0x63, 0x74,
+ 0x69, 0x76, 0x61, 0x74, 0x65, 0x41, 0x70, 0x70, 0x22, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x61, 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74,
+ 0x43, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74,
+ 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x53, 0x44,
+ 0x4c, 0x41, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79,
+ 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d,
+ 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x28, 0x73, 0x73, 0x28, 0x62, 0x69, 0x29, 0x28,
+ 0x62, 0x62, 0x29, 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d,
+ 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x69, 0x73, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e,
+ 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x65, 0x64,
+ 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x41, 0x70, 0x70, 0x50,
+ 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65,
+ 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d,
+ 0x22, 0x62, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70,
+ 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69,
+ 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x61, 0x28, 0x73, 0x69, 0x28, 0x62, 0x62, 0x29,
+ 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x41,
+ 0x70, 0x70, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x62, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x6d,
+ 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x47, 0x65, 0x74, 0x55, 0x73, 0x65, 0x72, 0x46, 0x72, 0x69, 0x65, 0x6e,
+ 0x64, 0x6c, 0x79, 0x4d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x22, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69,
+ 0x6f, 0x6e, 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x6d, 0x65, 0x73, 0x73, 0x61, 0x67, 0x65, 0x43, 0x6f, 0x64,
+ 0x65, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x73,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6c, 0x61, 0x6e, 0x67, 0x75, 0x61,
+ 0x67, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62,
+ 0x69, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64,
+ 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75,
+ 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74,
+ 0x43, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74,
+ 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x6d, 0x65, 0x73, 0x73,
+ 0x61, 0x67, 0x65, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x28, 0x62, 0x61, 0x28, 0x73, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73,
+ 0x29, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73, 0x29, 0x28, 0x62, 0x73,
+ 0x29, 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74,
+ 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x47, 0x65, 0x74, 0x4c, 0x69, 0x73,
+ 0x74, 0x4f, 0x66, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f,
+ 0x6e, 0x73, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x49, 0x44, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x43, 0x6f, 0x64,
+ 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20,
+ 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63,
+ 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x6c, 0x6c, 0x6f, 0x77, 0x65, 0x64,
+ 0x46, 0x75, 0x6e, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x74,
+ 0x79, 0x70, 0x65, 0x3d, 0x22, 0x61, 0x28, 0x73, 0x69, 0x28, 0x62, 0x62,
+ 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68,
+ 0x6f, 0x64, 0x3e, 0x3c, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x53,
+ 0x44, 0x4c, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x43, 0x6f,
+ 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65,
+ 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x73, 0x75, 0x6c, 0x74,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x6d,
+ 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x47, 0x65, 0x74, 0x53, 0x74, 0x61, 0x74, 0x75, 0x73, 0x55, 0x70, 0x64,
+ 0x61, 0x74, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69,
+ 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74,
+ 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72, 0x65, 0x74, 0x43,
+ 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x64, 0x69, 0x72,
+ 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f, 0x75, 0x74, 0x22,
+ 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20,
+ 0x2f, 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c,
+ 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d,
+ 0x22, 0x47, 0x65, 0x74, 0x55, 0x52, 0x4c, 0x53, 0x22, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e,
+ 0x3d, 0x22, 0x69, 0x6e, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x73, 0x65, 0x72, 0x76, 0x69, 0x63, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70,
+ 0x65, 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67,
+ 0x20, 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22,
+ 0x6f, 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x72,
+ 0x65, 0x74, 0x43, 0x6f, 0x64, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20,
+ 0x64, 0x69, 0x72, 0x65, 0x63, 0x74, 0x69, 0x6f, 0x6e, 0x3d, 0x22, 0x6f,
+ 0x75, 0x74, 0x22, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x75, 0x72,
+ 0x6c, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62,
+ 0x61, 0x28, 0x73, 0x28, 0x62, 0x73, 0x29, 0x29, 0x29, 0x22, 0x20, 0x2f,
+ 0x3e, 0x3c, 0x2f, 0x6d, 0x65, 0x74, 0x68, 0x6f, 0x64, 0x3e, 0x3c, 0x73,
+ 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x4f, 0x6e, 0x41, 0x70, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73,
+ 0x69, 0x6f, 0x6e, 0x43, 0x68, 0x61, 0x6e, 0x67, 0x65, 0x64, 0x22, 0x3e,
+ 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61,
+ 0x70, 0x70, 0x49, 0x44, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22,
+ 0x69, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61,
+ 0x6d, 0x65, 0x3d, 0x22, 0x69, 0x73, 0x41, 0x70, 0x70, 0x50, 0x65, 0x72,
+ 0x6d, 0x69, 0x73, 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x52, 0x65, 0x76, 0x6f,
+ 0x6b, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28,
+ 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20,
+ 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76,
+ 0x6f, 0x6b, 0x65, 0x64, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73, 0x73, 0x69,
+ 0x6f, 0x6e, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28,
+ 0x62, 0x61, 0x28, 0x73, 0x69, 0x28, 0x62, 0x62, 0x29, 0x29, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x61, 0x70, 0x70, 0x52, 0x65, 0x76, 0x6f, 0x6b, 0x65, 0x64,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70, 0x50, 0x65, 0x72, 0x6d, 0x69, 0x73,
+ 0x73, 0x69, 0x6f, 0x6e, 0x73, 0x43, 0x6f, 0x6e, 0x73, 0x65, 0x6e, 0x74,
+ 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61,
+ 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x61, 0x70, 0x70,
+ 0x55, 0x6e, 0x61, 0x75, 0x74, 0x68, 0x6f, 0x72, 0x69, 0x7a, 0x65, 0x64,
+ 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x62, 0x29,
+ 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d,
+ 0x65, 0x3d, 0x22, 0x70, 0x72, 0x69, 0x6f, 0x72, 0x69, 0x74, 0x79, 0x22,
+ 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x69, 0x29, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65,
+ 0x3d, 0x22, 0x72, 0x65, 0x71, 0x75, 0x65, 0x73, 0x74, 0x54, 0x79, 0x70,
+ 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x28, 0x62, 0x61,
+ 0x69, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x53, 0x44, 0x4c, 0x43, 0x6f,
+ 0x6e, 0x73, 0x65, 0x6e, 0x74, 0x4e, 0x65, 0x65, 0x64, 0x65, 0x64, 0x22,
+ 0x3e, 0x3c, 0x61, 0x72, 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22,
+ 0x64, 0x65, 0x76, 0x69, 0x63, 0x65, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65,
+ 0x3d, 0x22, 0x28, 0x73, 0x73, 0x28, 0x62, 0x69, 0x29, 0x28, 0x62, 0x62,
+ 0x29, 0x29, 0x22, 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e,
+ 0x61, 0x6c, 0x3e, 0x3c, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x20, 0x6e,
+ 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x4f, 0x6e, 0x53, 0x74, 0x61, 0x74, 0x75,
+ 0x73, 0x55, 0x70, 0x64, 0x61, 0x74, 0x65, 0x22, 0x3e, 0x3c, 0x61, 0x72,
+ 0x67, 0x20, 0x6e, 0x61, 0x6d, 0x65, 0x3d, 0x22, 0x73, 0x74, 0x61, 0x74,
+ 0x75, 0x73, 0x22, 0x20, 0x74, 0x79, 0x70, 0x65, 0x3d, 0x22, 0x69, 0x22,
+ 0x20, 0x2f, 0x3e, 0x3c, 0x2f, 0x73, 0x69, 0x67, 0x6e, 0x61, 0x6c, 0x3e,
+ 0x3c, 0x2f, 0x69, 0x6e, 0x74, 0x65, 0x72, 0x66, 0x61, 0x63, 0x65, 0x3e,
+ 0x3c, 0x2f, 0x6e, 0x6f, 0x64, 0x65, 0x3e, 0x00
+}; \ No newline at end of file
diff --git a/src/components/dbus/src/message_descriptions.cc b/src/components/dbus/src/message_descriptions.cc
new file mode 100644
index 0000000000..f9c73bc1f5
--- /dev/null
+++ b/src/components/dbus/src/message_descriptions.cc
@@ -0,0 +1,11766 @@
+// Warning! This file is generated by 'make_message_descriptions.py'. Edit at your own risk.
+/**
+ * @file message_descriptions.cc
+ * @brief Generated HMI API message descriptions for D-Bus
+ *
+ * This file is a part of HMI D-Bus layer.
+ */
+// Copyright (c) 2013, 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 "dbus/message_descriptions.h"
+
+namespace {
+
+struct Structs {
+ static const ford_message_descriptions::ParameterDescription* Common__Coordinate__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__DeviceInfo__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__UserFriendlyMessage__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__PermissionItem__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ServiceInfo__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TextField__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ButtonCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__VehicleDataResult__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TouchCoord__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TouchEvent__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__PresetBankCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__Image__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__SoftButton__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TTSChunk__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__HMIApplication__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__MenuParams__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__Choice__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__VrHelpItem__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TimeFormat__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TouchEventCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ImageResolution__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ScreenParams__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ImageField__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__VideoStreamingFormat__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__VideoConfig__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__DisplayCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__SoftButtonCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__HMICapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__AudioPassThruCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TextFieldStruct__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__KeyboardProperties__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__Turn__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__VehicleType__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__GPSData__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__SingleTireStatus__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__DIDResult__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__HeadLampStatus__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__TireStatus__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__BeltStatus__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__BodyInformation__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__DeviceStatus__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ECallInfo__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__AirbagStatus__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__EmergencyEvent__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ClusterModeStatus__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__MyKey__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__RdsData__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__RadioControlData__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__RadioControlCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__Temperature__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ClimateControlData__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ClimateControlCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__ModuleData__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__DateTime__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__OASISAddress__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__LocationDetails__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__NavigationCapability__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__PhoneCapability__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__VideoStreamingCapability__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__SystemCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__RemoteControlCapabilities__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__Rectangle__parameters[];
+ static const ford_message_descriptions::ParameterDescription* Common__HapticRect__parameters[];
+};
+
+const ford_message_descriptions::ParameterDescription Common__Coordinate__parameter1 = {
+ "latitudeDegrees",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__Coordinate__parameter2 = {
+ "longitudeDegrees",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__Coordinate__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__Coordinate__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Coordinate__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__DeviceInfo__parameter1 = {
+ "name",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceInfo__parameter2 = {
+ "id",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceInfo__parameter3 = {
+ "transportType",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceInfo__parameter4 = {
+ "isSDLAllowed",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__DeviceInfo__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceInfo__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceInfo__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceInfo__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceInfo__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__UserFriendlyMessage__parameter1 = {
+ "messageCode",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__UserFriendlyMessage__parameter2 = {
+ "ttsString",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__UserFriendlyMessage__parameter3 = {
+ "label",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__UserFriendlyMessage__parameter4 = {
+ "line1",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__UserFriendlyMessage__parameter5 = {
+ "line2",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__UserFriendlyMessage__parameter6 = {
+ "textBody",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__UserFriendlyMessage__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__UserFriendlyMessage__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__UserFriendlyMessage__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__UserFriendlyMessage__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__UserFriendlyMessage__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__UserFriendlyMessage__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__UserFriendlyMessage__parameter6,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__PermissionItem__parameter1 = {
+ "name",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__PermissionItem__parameter2 = {
+ "id",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__PermissionItem__parameter3 = {
+ "allowed",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__PermissionItem__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__PermissionItem__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__PermissionItem__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__PermissionItem__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ServiceInfo__parameter1 = {
+ "url",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ServiceInfo__parameter2 = {
+ "policyAppId",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ServiceInfo__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ServiceInfo__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ServiceInfo__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TextField__parameter1 = {
+ "name",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TextField__parameter2 = {
+ "characterSet",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TextField__parameter3 = {
+ "width",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TextField__parameter4 = {
+ "rows",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TextField__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TextField__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TextField__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TextField__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TextField__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ButtonCapabilities__parameter1 = {
+ "name",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ButtonCapabilities__parameter2 = {
+ "shortPressAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ButtonCapabilities__parameter3 = {
+ "longPressAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ButtonCapabilities__parameter4 = {
+ "upDownAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ButtonCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ButtonCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ButtonCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ButtonCapabilities__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ButtonCapabilities__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__VehicleDataResult__parameter1 = {
+ "dataType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__VehicleDataResult__parameter2 = {
+ "resultCode",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__VehicleDataResult__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__VehicleDataResult__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VehicleDataResult__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TouchCoord__parameter1 = {
+ "x",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TouchCoord__parameter2 = {
+ "y",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TouchCoord__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchCoord__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchCoord__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TouchEvent__parameter1 = {
+ "id",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TouchEvent__parameter2_array = {
+ "ts",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__TouchEvent__parameter2 = {
+ {
+ "ts",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEvent__parameter2_array,
+ "i"
+};
+const ford_message_descriptions::StructDescription Common__TouchEvent__parameter3_array = {
+ {
+ "c",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TouchCoord__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__TouchEvent__parameter3 = {
+ {
+ "c",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEvent__parameter3_array,
+ "(ii)"
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TouchEvent__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEvent__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEvent__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEvent__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__PresetBankCapabilities__parameter1 = {
+ "onScreenPresetsAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__PresetBankCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__PresetBankCapabilities__parameter1,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__Image__parameter1 = {
+ "value",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__Image__parameter2 = {
+ "imageType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__Image__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__Image__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Image__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__SoftButton__parameter1 = {
+ "type",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__SoftButton__parameter2 = {
+ "text",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription Common__SoftButton__parameter3 = {
+ {
+ "image",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__SoftButton__parameter4 = {
+ "isHighlighted",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__SoftButton__parameter5 = {
+ "softButtonID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__SoftButton__parameter6 = {
+ "systemAction",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__SoftButton__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButton__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButton__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButton__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButton__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButton__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButton__parameter6,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TTSChunk__parameter1 = {
+ "text",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TTSChunk__parameter2 = {
+ "type",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TTSChunk__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TTSChunk__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TTSChunk__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter1 = {
+ "appName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter2 = {
+ "ngnMediaScreenAppName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter3 = {
+ "icon",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription Common__HMIApplication__parameter4 = {
+ {
+ "deviceInfo",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter5 = {
+ "policyAppID",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::StructDescription Common__HMIApplication__parameter6_array = {
+ {
+ "ttsName",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__HMIApplication__parameter6 = {
+ {
+ "ttsName",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter6_array,
+ "(si)"
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter7_array = {
+ "vrSynonyms",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__HMIApplication__parameter7 = {
+ {
+ "vrSynonyms",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter7_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter8 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter9 = {
+ "hmiDisplayLanguageDesired",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter10 = {
+ "isMediaApplication",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter11_array = {
+ "appType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__HMIApplication__parameter11 = {
+ {
+ "appType",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter11_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter12 = {
+ "greyOut",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__HMIApplication__parameter13_array = {
+ "requestType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__HMIApplication__parameter13 = {
+ {
+ "requestType",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter13_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__HMIApplication__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMIApplication__parameter13,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__MenuParams__parameter1 = {
+ "parentID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__MenuParams__parameter2 = {
+ "position",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__MenuParams__parameter3 = {
+ "menuName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__MenuParams__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__MenuParams__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__MenuParams__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__MenuParams__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__Choice__parameter1 = {
+ "choiceID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__Choice__parameter2 = {
+ "menuName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription Common__Choice__parameter3 = {
+ {
+ "image",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__Choice__parameter4 = {
+ "secondaryText",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__Choice__parameter5 = {
+ "tertiaryText",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription Common__Choice__parameter6 = {
+ {
+ "secondaryImage",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__Choice__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__Choice__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Choice__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Choice__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Choice__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Choice__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Choice__parameter6,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__VrHelpItem__parameter1 = {
+ "text",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::StructDescription Common__VrHelpItem__parameter2 = {
+ {
+ "image",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__VrHelpItem__parameter3 = {
+ "position",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__VrHelpItem__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__VrHelpItem__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VrHelpItem__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VrHelpItem__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TimeFormat__parameter1 = {
+ "hours",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TimeFormat__parameter2 = {
+ "minutes",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TimeFormat__parameter3 = {
+ "seconds",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TimeFormat__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TimeFormat__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TimeFormat__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TimeFormat__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TouchEventCapabilities__parameter1 = {
+ "pressAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TouchEventCapabilities__parameter2 = {
+ "multiTouchAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TouchEventCapabilities__parameter3 = {
+ "doublePressAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TouchEventCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEventCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEventCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TouchEventCapabilities__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ImageResolution__parameter1 = {
+ "resolutionWidth",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ImageResolution__parameter2 = {
+ "resolutionHeight",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ImageResolution__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ImageResolution__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ImageResolution__parameter2,
+ NULL };
+
+const ford_message_descriptions::StructDescription Common__ScreenParams__parameter1 = {
+ {
+ "resolution",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ImageResolution__parameters
+};
+const ford_message_descriptions::StructDescription Common__ScreenParams__parameter2 = {
+ {
+ "touchEventAvailable",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__TouchEventCapabilities__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ScreenParams__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ScreenParams__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ScreenParams__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ImageField__parameter1 = {
+ "name",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ImageField__parameter2_array = {
+ "imageTypeSupported",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__ImageField__parameter2 = {
+ {
+ "imageTypeSupported",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__ImageField__parameter2_array,
+ "i"
+};
+const ford_message_descriptions::StructDescription Common__ImageField__parameter3 = {
+ {
+ "imageResolution",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ImageResolution__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ImageField__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ImageField__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ImageField__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ImageField__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__VideoStreamingFormat__parameter1 = {
+ "protocol",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__VideoStreamingFormat__parameter2 = {
+ "codec",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__VideoStreamingFormat__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoStreamingFormat__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoStreamingFormat__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__VideoConfig__parameter1 = {
+ "protocol",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__VideoConfig__parameter2 = {
+ "codec",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__VideoConfig__parameter3 = {
+ "width",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__VideoConfig__parameter4 = {
+ "height",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__VideoConfig__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoConfig__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoConfig__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoConfig__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoConfig__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__DisplayCapabilities__parameter1 = {
+ "displayType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::StructDescription Common__DisplayCapabilities__parameter2_array = {
+ {
+ "textFields",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TextField__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__DisplayCapabilities__parameter2 = {
+ {
+ "textFields",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter2_array,
+ "(iiii)"
+};
+const ford_message_descriptions::StructDescription Common__DisplayCapabilities__parameter3_array = {
+ {
+ "imageFields",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ImageField__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__DisplayCapabilities__parameter3 = {
+ {
+ "imageFields",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter3_array,
+ "(i(bai)(b(ii)))"
+};
+const ford_message_descriptions::ParameterDescription Common__DisplayCapabilities__parameter4_array = {
+ "mediaClockFormats",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__DisplayCapabilities__parameter4 = {
+ {
+ "mediaClockFormats",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter4_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription Common__DisplayCapabilities__parameter5_array = {
+ "imageCapabilities",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__DisplayCapabilities__parameter5 = {
+ {
+ "imageCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter5_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription Common__DisplayCapabilities__parameter6 = {
+ "graphicSupported",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__DisplayCapabilities__parameter7_array = {
+ "templatesAvailable",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__DisplayCapabilities__parameter7 = {
+ {
+ "templatesAvailable",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter7_array,
+ "s"
+};
+const ford_message_descriptions::StructDescription Common__DisplayCapabilities__parameter8 = {
+ {
+ "screenParams",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ScreenParams__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__DisplayCapabilities__parameter9 = {
+ "numCustomPresetsAvailable",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__DisplayCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DisplayCapabilities__parameter9,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__SoftButtonCapabilities__parameter1 = {
+ "shortPressAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__SoftButtonCapabilities__parameter2 = {
+ "longPressAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__SoftButtonCapabilities__parameter3 = {
+ "upDownAvailable",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__SoftButtonCapabilities__parameter4 = {
+ "imageSupported",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__SoftButtonCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButtonCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButtonCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButtonCapabilities__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SoftButtonCapabilities__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__HMICapabilities__parameter1 = {
+ "navigation",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__HMICapabilities__parameter2 = {
+ "phoneCall",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__HMICapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMICapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HMICapabilities__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__AudioPassThruCapabilities__parameter1 = {
+ "samplingRate",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AudioPassThruCapabilities__parameter2 = {
+ "bitsPerSample",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AudioPassThruCapabilities__parameter3 = {
+ "audioType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__AudioPassThruCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__AudioPassThruCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AudioPassThruCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AudioPassThruCapabilities__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TextFieldStruct__parameter1 = {
+ "fieldName",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__TextFieldStruct__parameter2 = {
+ "fieldText",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TextFieldStruct__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TextFieldStruct__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TextFieldStruct__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__KeyboardProperties__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__KeyboardProperties__parameter2 = {
+ "keyboardLayout",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__KeyboardProperties__parameter3 = {
+ "keypressMode",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__KeyboardProperties__parameter4_array = {
+ "limitedCharacterList",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__KeyboardProperties__parameter4 = {
+ {
+ "limitedCharacterList",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__KeyboardProperties__parameter4_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription Common__KeyboardProperties__parameter5 = {
+ "autoCompleteText",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__KeyboardProperties__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__KeyboardProperties__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__KeyboardProperties__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__KeyboardProperties__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__KeyboardProperties__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__KeyboardProperties__parameter5,
+ NULL };
+
+const ford_message_descriptions::StructDescription Common__Turn__parameter1 = {
+ {
+ "navigationText",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__TextFieldStruct__parameters
+};
+const ford_message_descriptions::StructDescription Common__Turn__parameter2 = {
+ {
+ "turnIcon",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__Turn__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__Turn__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Turn__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__VehicleType__parameter1 = {
+ "make",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__VehicleType__parameter2 = {
+ "model",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__VehicleType__parameter3 = {
+ "modelYear",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__VehicleType__parameter4 = {
+ "trim",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__VehicleType__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__VehicleType__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VehicleType__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VehicleType__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VehicleType__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter1 = {
+ "longitudeDegrees",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter2 = {
+ "latitudeDegrees",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter3 = {
+ "utcYear",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter4 = {
+ "utcMonth",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter5 = {
+ "utcDay",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter6 = {
+ "utcHours",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter7 = {
+ "utcMinutes",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter8 = {
+ "utcSeconds",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter9 = {
+ "compassDirection",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter10 = {
+ "pdop",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter11 = {
+ "hdop",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter12 = {
+ "vdop",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter13 = {
+ "actual",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter14 = {
+ "satellites",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter15 = {
+ "dimension",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter16 = {
+ "altitude",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter17 = {
+ "heading",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__GPSData__parameter18 = {
+ "speed",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__GPSData__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&Common__GPSData__parameter18,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__SingleTireStatus__parameter1 = {
+ "status",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__SingleTireStatus__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__SingleTireStatus__parameter1,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__DIDResult__parameter1 = {
+ "resultCode",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__DIDResult__parameter2 = {
+ "didLocation",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__DIDResult__parameter3 = {
+ "data",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__DIDResult__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__DIDResult__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DIDResult__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DIDResult__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__HeadLampStatus__parameter1 = {
+ "lowBeamsOn",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__HeadLampStatus__parameter2 = {
+ "highBeamsOn",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__HeadLampStatus__parameter3 = {
+ "ambientLightSensorStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__HeadLampStatus__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__HeadLampStatus__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HeadLampStatus__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HeadLampStatus__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__TireStatus__parameter1 = {
+ "pressureTelltale",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::StructDescription Common__TireStatus__parameter2 = {
+ {
+ "leftFront",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__SingleTireStatus__parameters
+};
+const ford_message_descriptions::StructDescription Common__TireStatus__parameter3 = {
+ {
+ "rightFront",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__SingleTireStatus__parameters
+};
+const ford_message_descriptions::StructDescription Common__TireStatus__parameter4 = {
+ {
+ "leftRear",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__SingleTireStatus__parameters
+};
+const ford_message_descriptions::StructDescription Common__TireStatus__parameter5 = {
+ {
+ "rightRear",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__SingleTireStatus__parameters
+};
+const ford_message_descriptions::StructDescription Common__TireStatus__parameter6 = {
+ {
+ "innerLeftRear",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__SingleTireStatus__parameters
+};
+const ford_message_descriptions::StructDescription Common__TireStatus__parameter7 = {
+ {
+ "innerRightRear",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__SingleTireStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__TireStatus__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__TireStatus__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TireStatus__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TireStatus__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TireStatus__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TireStatus__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TireStatus__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__TireStatus__parameter7,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter1 = {
+ "driverBeltDeployed",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter2 = {
+ "passengerBeltDeployed",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter3 = {
+ "passengerBuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter4 = {
+ "driverBuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter5 = {
+ "leftRow2BuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter6 = {
+ "passengerChildDetected",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter7 = {
+ "rightRow2BuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter8 = {
+ "middleRow2BuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter9 = {
+ "middleRow3BuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter10 = {
+ "leftRow3BuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter11 = {
+ "rightRow3BuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter12 = {
+ "leftRearInflatableBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter13 = {
+ "rightRearInflatableBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter14 = {
+ "middleRow1BeltDeployed",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BeltStatus__parameter15 = {
+ "middleRow1BuckleBelted",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__BeltStatus__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BeltStatus__parameter15,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__BodyInformation__parameter1 = {
+ "parkBrakeActive",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__BodyInformation__parameter2 = {
+ "ignitionStableStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__BodyInformation__parameter3 = {
+ "ignitionStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__BodyInformation__parameter4 = {
+ "driverDoorAjar",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BodyInformation__parameter5 = {
+ "passengerDoorAjar",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BodyInformation__parameter6 = {
+ "rearLeftDoorAjar",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__BodyInformation__parameter7 = {
+ "rearRightDoorAjar",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__BodyInformation__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__BodyInformation__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BodyInformation__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BodyInformation__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BodyInformation__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BodyInformation__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BodyInformation__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__BodyInformation__parameter7,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter1 = {
+ "voiceRecOn",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter2 = {
+ "btIconOn",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter3 = {
+ "callActive",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter4 = {
+ "phoneRoaming",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter5 = {
+ "textMsgAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter6 = {
+ "battLevelStatus",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter7 = {
+ "stereoAudioOutputMuted",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter8 = {
+ "monoAudioOutputMuted",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter9 = {
+ "signalLevelStatus",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter10 = {
+ "primaryAudioSource",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DeviceStatus__parameter11 = {
+ "eCallEventActive",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__DeviceStatus__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DeviceStatus__parameter11,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ECallInfo__parameter1 = {
+ "eCallNotificationStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ECallInfo__parameter2 = {
+ "auxECallNotificationStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ECallInfo__parameter3 = {
+ "eCallConfirmationStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ECallInfo__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ECallInfo__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ECallInfo__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ECallInfo__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter1 = {
+ "driverAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter2 = {
+ "driverSideAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter3 = {
+ "driverCurtainAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter4 = {
+ "passengerAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter5 = {
+ "passengerCurtainAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter6 = {
+ "driverKneeAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter7 = {
+ "passengerSideAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__AirbagStatus__parameter8 = {
+ "passengerKneeAirbagDeployed",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__AirbagStatus__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__AirbagStatus__parameter8,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__EmergencyEvent__parameter1 = {
+ "emergencyEventType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__EmergencyEvent__parameter2 = {
+ "fuelCutoffStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__EmergencyEvent__parameter3 = {
+ "rolloverEvent",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__EmergencyEvent__parameter4 = {
+ "maximumChangeVelocity",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__EmergencyEvent__parameter5 = {
+ "multipleEvents",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__EmergencyEvent__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__EmergencyEvent__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__EmergencyEvent__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__EmergencyEvent__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__EmergencyEvent__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__EmergencyEvent__parameter5,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ClusterModeStatus__parameter1 = {
+ "powerModeActive",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ClusterModeStatus__parameter2 = {
+ "powerModeQualificationStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ClusterModeStatus__parameter3 = {
+ "carModeStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ClusterModeStatus__parameter4 = {
+ "powerModeStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ClusterModeStatus__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClusterModeStatus__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClusterModeStatus__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClusterModeStatus__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClusterModeStatus__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__MyKey__parameter1 = {
+ "e911Override",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__MyKey__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__MyKey__parameter1,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter1 = {
+ "PS",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter2 = {
+ "RT",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter3 = {
+ "CT",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter4 = {
+ "PI",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter5 = {
+ "PTY",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter6 = {
+ "TP",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter7 = {
+ "TA",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RdsData__parameter8 = {
+ "REG",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__RdsData__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RdsData__parameter8,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter1 = {
+ "frequencyInteger",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter2 = {
+ "frequencyFraction",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter3 = {
+ "band",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::StructDescription Common__RadioControlData__parameter4 = {
+ {
+ "rdsData",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__RdsData__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter5 = {
+ "availableHDs",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter6 = {
+ "hdChannel",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter7 = {
+ "signalStrength",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter8 = {
+ "signalChangeThreshold",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter9 = {
+ "radioEnable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlData__parameter10 = {
+ "state",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__RadioControlData__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlData__parameter10,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter1 = {
+ "moduleName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter2 = {
+ "radioEnableAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter3 = {
+ "radioBandAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter4 = {
+ "radioFrequencyAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter5 = {
+ "hdChannelAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter6 = {
+ "rdsDataAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter7 = {
+ "availableHDsAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter8 = {
+ "stateAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter9 = {
+ "signalStrengthAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__RadioControlCapabilities__parameter10 = {
+ "signalChangeThresholdAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__RadioControlCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RadioControlCapabilities__parameter10,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__Temperature__parameter1 = {
+ "unit",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__Temperature__parameter2 = {
+ "value",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__Temperature__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__Temperature__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Temperature__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter1 = {
+ "fanSpeed",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::StructDescription Common__ClimateControlData__parameter2 = {
+ {
+ "currentTemperature",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Temperature__parameters
+};
+const ford_message_descriptions::StructDescription Common__ClimateControlData__parameter3 = {
+ {
+ "desiredTemperature",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Temperature__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter4 = {
+ "acEnable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter5 = {
+ "circulateAirEnable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter6 = {
+ "autoModeEnable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter7 = {
+ "defrostZone",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter8 = {
+ "dualModeEnable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter9 = {
+ "acMaxEnable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlData__parameter10 = {
+ "ventilationMode",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ClimateControlData__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlData__parameter10,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter1 = {
+ "moduleName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter2 = {
+ "currentTemperatureAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter3 = {
+ "fanSpeedAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter4 = {
+ "desiredTemperatureAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter5 = {
+ "acEnableAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter6 = {
+ "acMaxEnableAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter7 = {
+ "circulateAirEnableAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter8 = {
+ "autoModeEnableAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter9 = {
+ "dualModeEnableAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter10 = {
+ "defrostZoneAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter11_array = {
+ "defrostZone",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__ClimateControlCapabilities__parameter11 = {
+ {
+ "defrostZone",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter11_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter12 = {
+ "ventilationModeAvailable",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__ClimateControlCapabilities__parameter13_array = {
+ "ventilationMode",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__ClimateControlCapabilities__parameter13 = {
+ {
+ "ventilationMode",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter13_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ClimateControlCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ClimateControlCapabilities__parameter13,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__ModuleData__parameter1 = {
+ "moduleType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::StructDescription Common__ModuleData__parameter2 = {
+ {
+ "radioControlData",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__RadioControlData__parameters
+};
+const ford_message_descriptions::StructDescription Common__ModuleData__parameter3 = {
+ {
+ "climateControlData",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ClimateControlData__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__ModuleData__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__ModuleData__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ModuleData__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__ModuleData__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter1 = {
+ "millisecond",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter2 = {
+ "second",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter3 = {
+ "minute",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter4 = {
+ "hour",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter5 = {
+ "day",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter6 = {
+ "month",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter7 = {
+ "year",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter8 = {
+ "tz_hour",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__DateTime__parameter9 = {
+ "tz_minute",
+ ford_message_descriptions::Integer,
+ false
+};
+/*const ford_message_descriptions::ParameterDescription* Structs::Common__DateTime__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__DateTime__parameter9,
+ NULL };*/
+
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter1 = {
+ "countryName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter2 = {
+ "countryCode",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter3 = {
+ "postalCode",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter4 = {
+ "administrativeArea",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter5 = {
+ "subAdministrativeArea",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter6 = {
+ "locality",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter7 = {
+ "subLocality",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter8 = {
+ "thoroughfare",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__OASISAddress__parameter9 = {
+ "subThoroughfare",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__OASISAddress__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&Common__OASISAddress__parameter9,
+ NULL };
+
+const ford_message_descriptions::StructDescription Common__LocationDetails__parameter1 = {
+ {
+ "coordinate",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Coordinate__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__LocationDetails__parameter2 = {
+ "locationName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__LocationDetails__parameter3_array = {
+ "addressLines",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription Common__LocationDetails__parameter3 = {
+ {
+ "addressLines",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter3_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription Common__LocationDetails__parameter4 = {
+ "locationDescription",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__LocationDetails__parameter5 = {
+ "phoneNumber",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription Common__LocationDetails__parameter6 = {
+ {
+ "locationImage",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::StructDescription Common__LocationDetails__parameter7 = {
+ {
+ "searchAddress",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__OASISAddress__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__LocationDetails__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Common__LocationDetails__parameter7,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__NavigationCapability__parameter1 = {
+ "sendLocationEnabled",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription Common__NavigationCapability__parameter2 = {
+ "getWayPointsEnabled",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__NavigationCapability__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__NavigationCapability__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__NavigationCapability__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__PhoneCapability__parameter1 = {
+ "dialNumberEnabled",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__PhoneCapability__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__PhoneCapability__parameter1,
+ NULL };
+
+const ford_message_descriptions::StructDescription Common__VideoStreamingCapability__parameter1 = {
+ {
+ "preferredResolution",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ImageResolution__parameters
+};
+const ford_message_descriptions::ParameterDescription Common__VideoStreamingCapability__parameter2 = {
+ "maxBitrate",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::StructDescription Common__VideoStreamingCapability__parameter3_array = {
+ {
+ "supportedFormats",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VideoStreamingFormat__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__VideoStreamingCapability__parameter3 = {
+ {
+ "supportedFormats",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoStreamingCapability__parameter3_array,
+ "(ii)"
+};
+const ford_message_descriptions::ParameterDescription Common__VideoStreamingCapability__parameter4 = {
+ "hapticSpatialDataSupported",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__VideoStreamingCapability__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoStreamingCapability__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoStreamingCapability__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoStreamingCapability__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__VideoStreamingCapability__parameter4,
+ NULL };
+
+const ford_message_descriptions::StructDescription Common__SystemCapabilities__parameter1 = {
+ {
+ "navigationCapability",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__NavigationCapability__parameters
+};
+const ford_message_descriptions::StructDescription Common__SystemCapabilities__parameter2 = {
+ {
+ "phoneCapability",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__PhoneCapability__parameters
+};
+const ford_message_descriptions::StructDescription Common__SystemCapabilities__parameter3 = {
+ {
+ "videoStreamingCapability",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VideoStreamingCapability__parameters
+};
+/*const ford_message_descriptions::ParameterDescription* Structs::Common__SystemCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__SystemCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SystemCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__SystemCapabilities__parameter3,
+ NULL };*/
+
+const ford_message_descriptions::StructDescription Common__RemoteControlCapabilities__parameter1_array = {
+ {
+ "climateControlCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ClimateControlCapabilities__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__RemoteControlCapabilities__parameter1 = {
+ {
+ "climateControlCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__RemoteControlCapabilities__parameter1_array,
+ "(s(bb)(bb)(bb)(bb)(bb)(bb)(bb)(bb)(bb)(bai)(bb)(bai))"
+};
+const ford_message_descriptions::StructDescription Common__RemoteControlCapabilities__parameter2_array = {
+ {
+ "radioControlCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__RadioControlCapabilities__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__RemoteControlCapabilities__parameter2 = {
+ {
+ "radioControlCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__RemoteControlCapabilities__parameter2_array,
+ "(s(bb)(bb)(bb)(bb)(bb)(bb)(bb)(bb)(bb))"
+};
+const ford_message_descriptions::StructDescription Common__RemoteControlCapabilities__parameter3_array = {
+ {
+ "buttonCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ButtonCapabilities__parameters
+};
+const ford_message_descriptions::ArrayDescription Common__RemoteControlCapabilities__parameter3 = {
+ {
+ "buttonCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Common__RemoteControlCapabilities__parameter3_array,
+ "(ibbb)"
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__RemoteControlCapabilities__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__RemoteControlCapabilities__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RemoteControlCapabilities__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__RemoteControlCapabilities__parameter3,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__Rectangle__parameter1 = {
+ "x",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__Rectangle__parameter2 = {
+ "y",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__Rectangle__parameter3 = {
+ "width",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Common__Rectangle__parameter4 = {
+ "height",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__Rectangle__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__Rectangle__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Rectangle__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Rectangle__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Common__Rectangle__parameter4,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription Common__HapticRect__parameter1 = {
+ "id",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription Common__HapticRect__parameter2 = {
+ {
+ "rect",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__Rectangle__parameters
+};
+const ford_message_descriptions::ParameterDescription* Structs::Common__HapticRect__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Common__HapticRect__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Common__HapticRect__parameter2,
+ NULL };
+
+const ford_message_descriptions::ParameterDescription* Buttons__GetCapabilities__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Buttons__GetCapabilities__request = {
+ "Buttons",
+ "GetCapabilities",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Buttons_GetCapabilities,
+ Buttons__GetCapabilities__request__parameters
+};
+
+const ford_message_descriptions::StructDescription Buttons__GetCapabilities__response__parameter1_array = {
+ {
+ "capabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ButtonCapabilities__parameters
+};
+const ford_message_descriptions::ArrayDescription Buttons__GetCapabilities__response__parameter1 = {
+ {
+ "capabilities",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__GetCapabilities__response__parameter1_array,
+ "(ibbb)"
+};
+const ford_message_descriptions::StructDescription Buttons__GetCapabilities__response__parameter2 = {
+ {
+ "presetBankCapabilities",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__PresetBankCapabilities__parameters
+};
+const ford_message_descriptions::ParameterDescription* Buttons__GetCapabilities__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__GetCapabilities__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__GetCapabilities__response__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription Buttons__GetCapabilities__response = {
+ "Buttons",
+ "GetCapabilities",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Buttons_GetCapabilities,
+ Buttons__GetCapabilities__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonEvent__notification__parameter1 = {
+ "name",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonEvent__notification__parameter2 = {
+ "mode",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonEvent__notification__parameter3 = {
+ "customButtonID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonEvent__notification__parameter4 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Buttons__OnButtonEvent__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonEvent__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonEvent__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonEvent__notification__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonEvent__notification__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription Buttons__OnButtonEvent__notification = {
+ "Buttons",
+ "OnButtonEvent",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::Buttons_OnButtonEvent,
+ Buttons__OnButtonEvent__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonPress__notification__parameter1 = {
+ "name",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonPress__notification__parameter2 = {
+ "mode",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonPress__notification__parameter3 = {
+ "customButtonID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonPress__notification__parameter4 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* Buttons__OnButtonPress__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonPress__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonPress__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonPress__notification__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonPress__notification__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription Buttons__OnButtonPress__notification = {
+ "Buttons",
+ "OnButtonPress",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::Buttons_OnButtonPress,
+ Buttons__OnButtonPress__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonSubscription__notification__parameter1 = {
+ "name",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonSubscription__notification__parameter2 = {
+ "isSubscribed",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription Buttons__OnButtonSubscription__notification__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Buttons__OnButtonSubscription__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonSubscription__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonSubscription__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Buttons__OnButtonSubscription__notification__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription Buttons__OnButtonSubscription__notification = {
+ "Buttons",
+ "OnButtonSubscription",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::Buttons_OnButtonSubscription,
+ Buttons__OnButtonSubscription__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnReady__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnReady__notification = {
+ "BasicCommunication",
+ "OnReady",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnReady,
+ BasicCommunication__OnReady__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnStartDeviceDiscovery__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnStartDeviceDiscovery__notification = {
+ "BasicCommunication",
+ "OnStartDeviceDiscovery",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnStartDeviceDiscovery,
+ BasicCommunication__OnStartDeviceDiscovery__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnUpdateDeviceList__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnUpdateDeviceList__notification = {
+ "BasicCommunication",
+ "OnUpdateDeviceList",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnUpdateDeviceList,
+ BasicCommunication__OnUpdateDeviceList__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPhoneCall__notification__parameter1 = {
+ "isActive",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnPhoneCall__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPhoneCall__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnPhoneCall__notification = {
+ "BasicCommunication",
+ "OnPhoneCall",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnPhoneCall,
+ BasicCommunication__OnPhoneCall__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnEmergencyEvent__notification__parameter1 = {
+ "enabled",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnEmergencyEvent__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnEmergencyEvent__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnEmergencyEvent__notification = {
+ "BasicCommunication",
+ "OnEmergencyEvent",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnEmergencyEvent,
+ BasicCommunication__OnEmergencyEvent__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnResumeAudioSource__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnResumeAudioSource__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnResumeAudioSource__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnResumeAudioSource__notification = {
+ "BasicCommunication",
+ "OnResumeAudioSource",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnResumeAudioSource,
+ BasicCommunication__OnResumeAudioSource__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnSDLPersistenceComplete__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnSDLPersistenceComplete__notification = {
+ "BasicCommunication",
+ "OnSDLPersistenceComplete",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnSDLPersistenceComplete,
+ BasicCommunication__OnSDLPersistenceComplete__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription BasicCommunication__UpdateAppList__request__parameter1_array = {
+ {
+ "applications",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__HMIApplication__parameters
+};
+const ford_message_descriptions::ArrayDescription BasicCommunication__UpdateAppList__request__parameter1 = {
+ {
+ "applications",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__UpdateAppList__request__parameter1_array,
+ "(s(bs)(bs)(ss(bi)(bb))s(ba(si))(bas)iib(bai)(bb)(bai))"
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__UpdateAppList__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__UpdateAppList__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__UpdateAppList__request = {
+ "BasicCommunication",
+ "UpdateAppList",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_UpdateAppList,
+ BasicCommunication__UpdateAppList__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__UpdateAppList__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__UpdateAppList__response = {
+ "BasicCommunication",
+ "UpdateAppList",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_UpdateAppList,
+ BasicCommunication__UpdateAppList__response__parameters
+};
+
+const ford_message_descriptions::StructDescription BasicCommunication__UpdateDeviceList__request__parameter1_array = {
+ {
+ "deviceList",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ArrayDescription BasicCommunication__UpdateDeviceList__request__parameter1 = {
+ {
+ "deviceList",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__UpdateDeviceList__request__parameter1_array,
+ "(ss(bi)(bb))"
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__UpdateDeviceList__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__UpdateDeviceList__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__UpdateDeviceList__request = {
+ "BasicCommunication",
+ "UpdateDeviceList",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_UpdateDeviceList,
+ BasicCommunication__UpdateDeviceList__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__UpdateDeviceList__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__UpdateDeviceList__response = {
+ "BasicCommunication",
+ "UpdateDeviceList",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_UpdateDeviceList,
+ BasicCommunication__UpdateDeviceList__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnFileRemoved__notification__parameter1 = {
+ "fileName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnFileRemoved__notification__parameter2 = {
+ "fileType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnFileRemoved__notification__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnFileRemoved__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnFileRemoved__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnFileRemoved__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnFileRemoved__notification__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnFileRemoved__notification = {
+ "BasicCommunication",
+ "OnFileRemoved",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnFileRemoved,
+ BasicCommunication__OnFileRemoved__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription BasicCommunication__AllowDeviceToConnect__request__parameter1 = {
+ {
+ "device",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__AllowDeviceToConnect__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__AllowDeviceToConnect__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__AllowDeviceToConnect__request = {
+ "BasicCommunication",
+ "AllowDeviceToConnect",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_AllowDeviceToConnect,
+ BasicCommunication__AllowDeviceToConnect__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__AllowDeviceToConnect__response__parameter1 = {
+ "allow",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__AllowDeviceToConnect__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__AllowDeviceToConnect__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__AllowDeviceToConnect__response = {
+ "BasicCommunication",
+ "AllowDeviceToConnect",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_AllowDeviceToConnect,
+ BasicCommunication__AllowDeviceToConnect__response__parameters
+};
+
+const ford_message_descriptions::StructDescription BasicCommunication__OnDeviceChosen__notification__parameter1 = {
+ {
+ "deviceInfo",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnDeviceChosen__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnDeviceChosen__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnDeviceChosen__notification = {
+ "BasicCommunication",
+ "OnDeviceChosen",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnDeviceChosen,
+ BasicCommunication__OnDeviceChosen__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription BasicCommunication__OnFindApplications__notification__parameter1 = {
+ {
+ "deviceInfo",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnFindApplications__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnFindApplications__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnFindApplications__notification = {
+ "BasicCommunication",
+ "OnFindApplications",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnFindApplications,
+ BasicCommunication__OnFindApplications__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__ActivateApp__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__ActivateApp__request__parameter2 = {
+ "priority",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__ActivateApp__request__parameter3 = {
+ "level",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__ActivateApp__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__ActivateApp__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__ActivateApp__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__ActivateApp__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__ActivateApp__request = {
+ "BasicCommunication",
+ "ActivateApp",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_ActivateApp,
+ BasicCommunication__ActivateApp__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__ActivateApp__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__ActivateApp__response = {
+ "BasicCommunication",
+ "ActivateApp",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_ActivateApp,
+ BasicCommunication__ActivateApp__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppActivated__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnAppActivated__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppActivated__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnAppActivated__notification = {
+ "BasicCommunication",
+ "OnAppActivated",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnAppActivated,
+ BasicCommunication__OnAppActivated__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppDeactivated__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppDeactivated__notification__parameter2 = {
+ "reason",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnAppDeactivated__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppDeactivated__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppDeactivated__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnAppDeactivated__notification = {
+ "BasicCommunication",
+ "OnAppDeactivated",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnAppDeactivated,
+ BasicCommunication__OnAppDeactivated__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription BasicCommunication__OnAppRegistered__notification__parameter1 = {
+ {
+ "application",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__HMIApplication__parameters
+};
+const ford_message_descriptions::StructDescription BasicCommunication__OnAppRegistered__notification__parameter2_array = {
+ {
+ "ttsName",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription BasicCommunication__OnAppRegistered__notification__parameter2 = {
+ {
+ "ttsName",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppRegistered__notification__parameter2_array,
+ "(si)"
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppRegistered__notification__parameter3_array = {
+ "vrSynonyms",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription BasicCommunication__OnAppRegistered__notification__parameter3 = {
+ {
+ "vrSynonyms",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppRegistered__notification__parameter3_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppRegistered__notification__parameter4 = {
+ "resumeVrGrammars",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppRegistered__notification__parameter5 = {
+ "priority",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnAppRegistered__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppRegistered__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppRegistered__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppRegistered__notification__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppRegistered__notification__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppRegistered__notification__parameter5,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnAppRegistered__notification = {
+ "BasicCommunication",
+ "OnAppRegistered",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnAppRegistered,
+ BasicCommunication__OnAppRegistered__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppUnregistered__notification__parameter1 = {
+ "unexpectedDisconnect",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnAppUnregistered__notification__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnAppUnregistered__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppUnregistered__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnAppUnregistered__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnAppUnregistered__notification = {
+ "BasicCommunication",
+ "OnAppUnregistered",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnAppUnregistered,
+ BasicCommunication__OnAppUnregistered__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnExitApplication__notification__parameter1 = {
+ "reason",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnExitApplication__notification__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnExitApplication__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnExitApplication__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnExitApplication__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnExitApplication__notification = {
+ "BasicCommunication",
+ "OnExitApplication",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnExitApplication,
+ BasicCommunication__OnExitApplication__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnExitAllApplications__notification__parameter1 = {
+ "reason",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnExitAllApplications__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnExitAllApplications__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnExitAllApplications__notification = {
+ "BasicCommunication",
+ "OnExitAllApplications",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnExitAllApplications,
+ BasicCommunication__OnExitAllApplications__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnAwakeSDL__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnAwakeSDL__notification = {
+ "BasicCommunication",
+ "OnAwakeSDL",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnAwakeSDL,
+ BasicCommunication__OnAwakeSDL__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__MixingAudioSupported__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__MixingAudioSupported__request = {
+ "BasicCommunication",
+ "MixingAudioSupported",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_MixingAudioSupported,
+ BasicCommunication__MixingAudioSupported__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__MixingAudioSupported__response__parameter1 = {
+ "attenuatedSupported",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__MixingAudioSupported__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__MixingAudioSupported__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__MixingAudioSupported__response = {
+ "BasicCommunication",
+ "MixingAudioSupported",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_MixingAudioSupported,
+ BasicCommunication__MixingAudioSupported__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__PlayTone__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__PlayTone__notification__parameter2 = {
+ "methodName",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__PlayTone__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__PlayTone__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__PlayTone__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__PlayTone__notification = {
+ "BasicCommunication",
+ "PlayTone",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_PlayTone,
+ BasicCommunication__PlayTone__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__DialNumber__request__parameter1 = {
+ "number",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__DialNumber__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__DialNumber__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__DialNumber__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__DialNumber__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__DialNumber__request = {
+ "BasicCommunication",
+ "DialNumber",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_DialNumber,
+ BasicCommunication__DialNumber__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__DialNumber__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__DialNumber__response = {
+ "BasicCommunication",
+ "DialNumber",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_DialNumber,
+ BasicCommunication__DialNumber__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter1 = {
+ "requestType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter2 = {
+ "url",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter3 = {
+ "fileType",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter4 = {
+ "offset",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter5 = {
+ "length",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter6 = {
+ "timeout",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter7 = {
+ "fileName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemRequest__notification__parameter8 = {
+ "appID",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnSystemRequest__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemRequest__notification__parameter8,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnSystemRequest__notification = {
+ "BasicCommunication",
+ "OnSystemRequest",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnSystemRequest,
+ BasicCommunication__OnSystemRequest__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__SystemRequest__request__parameter1 = {
+ "requestType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__SystemRequest__request__parameter2 = {
+ "fileName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__SystemRequest__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__SystemRequest__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__SystemRequest__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__SystemRequest__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__SystemRequest__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__SystemRequest__request = {
+ "BasicCommunication",
+ "SystemRequest",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_SystemRequest,
+ BasicCommunication__SystemRequest__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__SystemRequest__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__SystemRequest__response = {
+ "BasicCommunication",
+ "SystemRequest",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_SystemRequest,
+ BasicCommunication__SystemRequest__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__PolicyUpdate__request__parameter1 = {
+ "file",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__PolicyUpdate__request__parameter2 = {
+ "timeout",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__PolicyUpdate__request__parameter3_array = {
+ "retry",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ArrayDescription BasicCommunication__PolicyUpdate__request__parameter3 = {
+ {
+ "retry",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__PolicyUpdate__request__parameter3_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__PolicyUpdate__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__PolicyUpdate__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__PolicyUpdate__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__PolicyUpdate__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__PolicyUpdate__request = {
+ "BasicCommunication",
+ "PolicyUpdate",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_PolicyUpdate,
+ BasicCommunication__PolicyUpdate__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__PolicyUpdate__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__PolicyUpdate__response = {
+ "BasicCommunication",
+ "PolicyUpdate",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_PolicyUpdate,
+ BasicCommunication__PolicyUpdate__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnSDLClose__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnSDLClose__notification = {
+ "BasicCommunication",
+ "OnSDLClose",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnSDLClose,
+ BasicCommunication__OnSDLClose__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPutFile__notification__parameter1 = {
+ "offset",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPutFile__notification__parameter2 = {
+ "length",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPutFile__notification__parameter3 = {
+ "fileSize",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPutFile__notification__parameter4 = {
+ "FileName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPutFile__notification__parameter5 = {
+ "syncFileName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPutFile__notification__parameter6 = {
+ "fileType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnPutFile__notification__parameter7 = {
+ "persistentFile",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnPutFile__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPutFile__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPutFile__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPutFile__notification__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPutFile__notification__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPutFile__notification__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPutFile__notification__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnPutFile__notification__parameter7,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnPutFile__notification = {
+ "BasicCommunication",
+ "OnPutFile",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnPutFile,
+ BasicCommunication__OnPutFile__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__GetSystemInfo__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__GetSystemInfo__request = {
+ "BasicCommunication",
+ "GetSystemInfo",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_GetSystemInfo,
+ BasicCommunication__GetSystemInfo__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__GetSystemInfo__response__parameter1 = {
+ "ccpu_version",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__GetSystemInfo__response__parameter2 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__GetSystemInfo__response__parameter3 = {
+ "wersCountryCode",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__GetSystemInfo__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__GetSystemInfo__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__GetSystemInfo__response__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__GetSystemInfo__response__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__GetSystemInfo__response = {
+ "BasicCommunication",
+ "GetSystemInfo",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_GetSystemInfo,
+ BasicCommunication__GetSystemInfo__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnSystemInfoChanged__notification__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnSystemInfoChanged__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnSystemInfoChanged__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnSystemInfoChanged__notification = {
+ "BasicCommunication",
+ "OnSystemInfoChanged",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnSystemInfoChanged,
+ BasicCommunication__OnSystemInfoChanged__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnIgnitionCycleOver__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnIgnitionCycleOver__notification = {
+ "BasicCommunication",
+ "OnIgnitionCycleOver",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnIgnitionCycleOver,
+ BasicCommunication__OnIgnitionCycleOver__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__DecryptCertificate__request__parameter1 = {
+ "fileName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__DecryptCertificate__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__DecryptCertificate__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__DecryptCertificate__request = {
+ "BasicCommunication",
+ "DecryptCertificate",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::BasicCommunication_DecryptCertificate,
+ BasicCommunication__DecryptCertificate__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* BasicCommunication__DecryptCertificate__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__DecryptCertificate__response = {
+ "BasicCommunication",
+ "DecryptCertificate",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::BasicCommunication_DecryptCertificate,
+ BasicCommunication__DecryptCertificate__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnEventChanged__notification__parameter1 = {
+ "eventName",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription BasicCommunication__OnEventChanged__notification__parameter2 = {
+ "isActive",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* BasicCommunication__OnEventChanged__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnEventChanged__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&BasicCommunication__OnEventChanged__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription BasicCommunication__OnEventChanged__notification = {
+ "BasicCommunication",
+ "OnEventChanged",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::BasicCommunication_OnEventChanged,
+ BasicCommunication__OnEventChanged__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__IsReady__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__IsReady__request = {
+ "VR",
+ "IsReady",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_IsReady,
+ VR__IsReady__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__IsReady__response__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VR__IsReady__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__IsReady__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__IsReady__response = {
+ "VR",
+ "IsReady",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_IsReady,
+ VR__IsReady__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__Started__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__Started__notification = {
+ "VR",
+ "Started",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VR_Started,
+ VR__Started__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__Stopped__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__Stopped__notification = {
+ "VR",
+ "Stopped",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VR_Stopped,
+ VR__Stopped__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__AddCommand__request__parameter1 = {
+ "cmdID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__AddCommand__request__parameter2_array = {
+ "vrCommands",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription VR__AddCommand__request__parameter2 = {
+ {
+ "vrCommands",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__AddCommand__request__parameter2_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription VR__AddCommand__request__parameter3 = {
+ "type",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__AddCommand__request__parameter4 = {
+ "grammarID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__AddCommand__request__parameter5 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* VR__AddCommand__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__AddCommand__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VR__AddCommand__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VR__AddCommand__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VR__AddCommand__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VR__AddCommand__request__parameter5,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__AddCommand__request = {
+ "VR",
+ "AddCommand",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_AddCommand,
+ VR__AddCommand__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__AddCommand__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__AddCommand__response = {
+ "VR",
+ "AddCommand",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_AddCommand,
+ VR__AddCommand__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__DeleteCommand__request__parameter1 = {
+ "cmdID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__DeleteCommand__request__parameter2 = {
+ "type",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__DeleteCommand__request__parameter3 = {
+ "grammarID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__DeleteCommand__request__parameter4 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VR__DeleteCommand__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__DeleteCommand__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VR__DeleteCommand__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VR__DeleteCommand__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VR__DeleteCommand__request__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__DeleteCommand__request = {
+ "VR",
+ "DeleteCommand",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_DeleteCommand,
+ VR__DeleteCommand__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__DeleteCommand__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__DeleteCommand__response = {
+ "VR",
+ "DeleteCommand",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_DeleteCommand,
+ VR__DeleteCommand__response__parameters
+};
+
+const ford_message_descriptions::StructDescription VR__PerformInteraction__request__parameter1_array = {
+ {
+ "helpPrompt",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription VR__PerformInteraction__request__parameter1 = {
+ {
+ "helpPrompt",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter1_array,
+ "(si)"
+};
+const ford_message_descriptions::StructDescription VR__PerformInteraction__request__parameter2_array = {
+ {
+ "initialPrompt",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription VR__PerformInteraction__request__parameter2 = {
+ {
+ "initialPrompt",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter2_array,
+ "(si)"
+};
+const ford_message_descriptions::StructDescription VR__PerformInteraction__request__parameter3_array = {
+ {
+ "timeoutPrompt",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription VR__PerformInteraction__request__parameter3 = {
+ {
+ "timeoutPrompt",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter3_array,
+ "(si)"
+};
+const ford_message_descriptions::ParameterDescription VR__PerformInteraction__request__parameter4 = {
+ "timeout",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__PerformInteraction__request__parameter5_array = {
+ "grammarID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ArrayDescription VR__PerformInteraction__request__parameter5 = {
+ {
+ "grammarID",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter5_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* VR__PerformInteraction__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__request__parameter5,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__PerformInteraction__request = {
+ "VR",
+ "PerformInteraction",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_PerformInteraction,
+ VR__PerformInteraction__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__PerformInteraction__response__parameter1 = {
+ "choiceID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* VR__PerformInteraction__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__PerformInteraction__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__PerformInteraction__response = {
+ "VR",
+ "PerformInteraction",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_PerformInteraction,
+ VR__PerformInteraction__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__OnCommand__notification__parameter1 = {
+ "cmdID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__OnCommand__notification__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VR__OnCommand__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__OnCommand__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VR__OnCommand__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__OnCommand__notification = {
+ "VR",
+ "OnCommand",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VR_OnCommand,
+ VR__OnCommand__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__ChangeRegistration__request__parameter1_array = {
+ "vrSynonyms",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription VR__ChangeRegistration__request__parameter1 = {
+ {
+ "vrSynonyms",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__ChangeRegistration__request__parameter1_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription VR__ChangeRegistration__request__parameter2 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription VR__ChangeRegistration__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VR__ChangeRegistration__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__ChangeRegistration__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VR__ChangeRegistration__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VR__ChangeRegistration__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__ChangeRegistration__request = {
+ "VR",
+ "ChangeRegistration",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_ChangeRegistration,
+ VR__ChangeRegistration__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__ChangeRegistration__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__ChangeRegistration__response = {
+ "VR",
+ "ChangeRegistration",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_ChangeRegistration,
+ VR__ChangeRegistration__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__OnLanguageChange__notification__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VR__OnLanguageChange__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__OnLanguageChange__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__OnLanguageChange__notification = {
+ "VR",
+ "OnLanguageChange",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VR_OnLanguageChange,
+ VR__OnLanguageChange__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__GetSupportedLanguages__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__GetSupportedLanguages__request = {
+ "VR",
+ "GetSupportedLanguages",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_GetSupportedLanguages,
+ VR__GetSupportedLanguages__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__GetSupportedLanguages__response__parameter1_array = {
+ "languages",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription VR__GetSupportedLanguages__response__parameter1 = {
+ {
+ "languages",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__GetSupportedLanguages__response__parameter1_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* VR__GetSupportedLanguages__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__GetSupportedLanguages__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__GetSupportedLanguages__response = {
+ "VR",
+ "GetSupportedLanguages",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_GetSupportedLanguages,
+ VR__GetSupportedLanguages__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__GetLanguage__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__GetLanguage__request = {
+ "VR",
+ "GetLanguage",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_GetLanguage,
+ VR__GetLanguage__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__GetLanguage__response__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VR__GetLanguage__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__GetLanguage__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__GetLanguage__response = {
+ "VR",
+ "GetLanguage",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_GetLanguage,
+ VR__GetLanguage__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VR__GetCapabilities__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VR__GetCapabilities__request = {
+ "VR",
+ "GetCapabilities",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VR_GetCapabilities,
+ VR__GetCapabilities__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VR__GetCapabilities__response__parameter1_array = {
+ "vrCapabilities",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription VR__GetCapabilities__response__parameter1 = {
+ {
+ "vrCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VR__GetCapabilities__response__parameter1_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* VR__GetCapabilities__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VR__GetCapabilities__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VR__GetCapabilities__response = {
+ "VR",
+ "GetCapabilities",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VR_GetCapabilities,
+ VR__GetCapabilities__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__GetCapabilities__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__GetCapabilities__request = {
+ "TTS",
+ "GetCapabilities",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_GetCapabilities,
+ TTS__GetCapabilities__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription TTS__GetCapabilities__response__parameter1_array = {
+ "speechCapabilities",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription TTS__GetCapabilities__response__parameter1 = {
+ {
+ "speechCapabilities",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&TTS__GetCapabilities__response__parameter1_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription TTS__GetCapabilities__response__parameter2_array = {
+ "prerecordedSpeechCapabilities",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription TTS__GetCapabilities__response__parameter2 = {
+ {
+ "prerecordedSpeechCapabilities",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&TTS__GetCapabilities__response__parameter2_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* TTS__GetCapabilities__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__GetCapabilities__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__GetCapabilities__response__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__GetCapabilities__response = {
+ "TTS",
+ "GetCapabilities",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_GetCapabilities,
+ TTS__GetCapabilities__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__Started__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__Started__notification = {
+ "TTS",
+ "Started",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::TTS_Started,
+ TTS__Started__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__Stopped__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__Stopped__notification = {
+ "TTS",
+ "Stopped",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::TTS_Stopped,
+ TTS__Stopped__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__IsReady__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__IsReady__request = {
+ "TTS",
+ "IsReady",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_IsReady,
+ TTS__IsReady__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription TTS__IsReady__response__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* TTS__IsReady__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__IsReady__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__IsReady__response = {
+ "TTS",
+ "IsReady",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_IsReady,
+ TTS__IsReady__response__parameters
+};
+
+const ford_message_descriptions::StructDescription TTS__Speak__request__parameter1_array = {
+ {
+ "ttsChunks",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription TTS__Speak__request__parameter1 = {
+ {
+ "ttsChunks",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&TTS__Speak__request__parameter1_array,
+ "(si)"
+};
+const ford_message_descriptions::ParameterDescription TTS__Speak__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription TTS__Speak__request__parameter3 = {
+ "speakType",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* TTS__Speak__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__Speak__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__Speak__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__Speak__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__Speak__request = {
+ "TTS",
+ "Speak",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_Speak,
+ TTS__Speak__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__Speak__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__Speak__response = {
+ "TTS",
+ "Speak",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_Speak,
+ TTS__Speak__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__StopSpeaking__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__StopSpeaking__request = {
+ "TTS",
+ "StopSpeaking",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_StopSpeaking,
+ TTS__StopSpeaking__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__StopSpeaking__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__StopSpeaking__response = {
+ "TTS",
+ "StopSpeaking",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_StopSpeaking,
+ TTS__StopSpeaking__response__parameters
+};
+
+const ford_message_descriptions::StructDescription TTS__ChangeRegistration__request__parameter1_array = {
+ {
+ "ttsName",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription TTS__ChangeRegistration__request__parameter1 = {
+ {
+ "ttsName",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&TTS__ChangeRegistration__request__parameter1_array,
+ "(si)"
+};
+const ford_message_descriptions::ParameterDescription TTS__ChangeRegistration__request__parameter2 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription TTS__ChangeRegistration__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* TTS__ChangeRegistration__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__ChangeRegistration__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__ChangeRegistration__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__ChangeRegistration__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__ChangeRegistration__request = {
+ "TTS",
+ "ChangeRegistration",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_ChangeRegistration,
+ TTS__ChangeRegistration__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__ChangeRegistration__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__ChangeRegistration__response = {
+ "TTS",
+ "ChangeRegistration",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_ChangeRegistration,
+ TTS__ChangeRegistration__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription TTS__OnLanguageChange__notification__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* TTS__OnLanguageChange__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__OnLanguageChange__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__OnLanguageChange__notification = {
+ "TTS",
+ "OnLanguageChange",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::TTS_OnLanguageChange,
+ TTS__OnLanguageChange__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__GetSupportedLanguages__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__GetSupportedLanguages__request = {
+ "TTS",
+ "GetSupportedLanguages",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_GetSupportedLanguages,
+ TTS__GetSupportedLanguages__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription TTS__GetSupportedLanguages__response__parameter1_array = {
+ "languages",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription TTS__GetSupportedLanguages__response__parameter1 = {
+ {
+ "languages",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&TTS__GetSupportedLanguages__response__parameter1_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* TTS__GetSupportedLanguages__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__GetSupportedLanguages__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__GetSupportedLanguages__response = {
+ "TTS",
+ "GetSupportedLanguages",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_GetSupportedLanguages,
+ TTS__GetSupportedLanguages__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__GetLanguage__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__GetLanguage__request = {
+ "TTS",
+ "GetLanguage",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_GetLanguage,
+ TTS__GetLanguage__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription TTS__GetLanguage__response__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* TTS__GetLanguage__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__GetLanguage__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__GetLanguage__response = {
+ "TTS",
+ "GetLanguage",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_GetLanguage,
+ TTS__GetLanguage__response__parameters
+};
+
+const ford_message_descriptions::StructDescription TTS__SetGlobalProperties__request__parameter1_array = {
+ {
+ "helpPrompt",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription TTS__SetGlobalProperties__request__parameter1 = {
+ {
+ "helpPrompt",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&TTS__SetGlobalProperties__request__parameter1_array,
+ "(si)"
+};
+const ford_message_descriptions::StructDescription TTS__SetGlobalProperties__request__parameter2_array = {
+ {
+ "timeoutPrompt",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TTSChunk__parameters
+};
+const ford_message_descriptions::ArrayDescription TTS__SetGlobalProperties__request__parameter2 = {
+ {
+ "timeoutPrompt",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&TTS__SetGlobalProperties__request__parameter2_array,
+ "(si)"
+};
+const ford_message_descriptions::ParameterDescription TTS__SetGlobalProperties__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* TTS__SetGlobalProperties__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__SetGlobalProperties__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__SetGlobalProperties__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__SetGlobalProperties__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__SetGlobalProperties__request = {
+ "TTS",
+ "SetGlobalProperties",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::TTS_SetGlobalProperties,
+ TTS__SetGlobalProperties__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* TTS__SetGlobalProperties__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__SetGlobalProperties__response = {
+ "TTS",
+ "SetGlobalProperties",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::TTS_SetGlobalProperties,
+ TTS__SetGlobalProperties__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription TTS__OnResetTimeout__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription TTS__OnResetTimeout__notification__parameter2 = {
+ "methodName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* TTS__OnResetTimeout__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&TTS__OnResetTimeout__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&TTS__OnResetTimeout__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription TTS__OnResetTimeout__notification = {
+ "TTS",
+ "OnResetTimeout",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::TTS_OnResetTimeout,
+ TTS__OnResetTimeout__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__Alert__request__parameter1_array = {
+ {
+ "alertStrings",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TextFieldStruct__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__Alert__request__parameter1 = {
+ {
+ "alertStrings",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter1_array,
+ "(is)"
+};
+const ford_message_descriptions::ParameterDescription UI__Alert__request__parameter2 = {
+ "duration",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription UI__Alert__request__parameter3_array = {
+ {
+ "softButtons",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButton__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__Alert__request__parameter3 = {
+ {
+ "softButtons",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter3_array,
+ "(i(bs)(b(si))(bb)ii)"
+};
+const ford_message_descriptions::ParameterDescription UI__Alert__request__parameter4 = {
+ "progressIndicator",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription UI__Alert__request__parameter5 = {
+ "alertType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__Alert__request__parameter6 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__Alert__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__request__parameter6,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__Alert__request = {
+ "UI",
+ "Alert",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_Alert,
+ UI__Alert__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__Alert__response__parameter1 = {
+ "tryAgainTime",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__Alert__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__Alert__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__Alert__response = {
+ "UI",
+ "Alert",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_Alert,
+ UI__Alert__response__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__Show__request__parameter1_array = {
+ {
+ "showStrings",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TextFieldStruct__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__Show__request__parameter1 = {
+ {
+ "showStrings",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter1_array,
+ "(is)"
+};
+const ford_message_descriptions::ParameterDescription UI__Show__request__parameter2 = {
+ "alignment",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::StructDescription UI__Show__request__parameter3 = {
+ {
+ "graphic",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::StructDescription UI__Show__request__parameter4 = {
+ {
+ "secondaryGraphic",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::StructDescription UI__Show__request__parameter5_array = {
+ {
+ "softButtons",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButton__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__Show__request__parameter5 = {
+ {
+ "softButtons",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter5_array,
+ "(i(bs)(b(si))(bb)ii)"
+};
+const ford_message_descriptions::ParameterDescription UI__Show__request__parameter6_array = {
+ "customPresets",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription UI__Show__request__parameter6 = {
+ {
+ "customPresets",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter6_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription UI__Show__request__parameter7 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__Show__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Show__request__parameter7,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__Show__request = {
+ "UI",
+ "Show",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_Show,
+ UI__Show__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__Show__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__Show__response = {
+ "UI",
+ "Show",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_Show,
+ UI__Show__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__AddCommand__request__parameter1 = {
+ "cmdID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription UI__AddCommand__request__parameter2 = {
+ {
+ "menuParams",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__MenuParams__parameters
+};
+const ford_message_descriptions::StructDescription UI__AddCommand__request__parameter3 = {
+ {
+ "cmdIcon",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription UI__AddCommand__request__parameter4 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__AddCommand__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__AddCommand__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__AddCommand__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__AddCommand__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__AddCommand__request__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__AddCommand__request = {
+ "UI",
+ "AddCommand",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_AddCommand,
+ UI__AddCommand__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__AddCommand__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__AddCommand__response = {
+ "UI",
+ "AddCommand",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_AddCommand,
+ UI__AddCommand__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__DeleteCommand__request__parameter1 = {
+ "cmdID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__DeleteCommand__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__DeleteCommand__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__DeleteCommand__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__DeleteCommand__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__DeleteCommand__request = {
+ "UI",
+ "DeleteCommand",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_DeleteCommand,
+ UI__DeleteCommand__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__DeleteCommand__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__DeleteCommand__response = {
+ "UI",
+ "DeleteCommand",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_DeleteCommand,
+ UI__DeleteCommand__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__AddSubMenu__request__parameter1 = {
+ "menuID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription UI__AddSubMenu__request__parameter2 = {
+ {
+ "menuParams",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__MenuParams__parameters
+};
+const ford_message_descriptions::ParameterDescription UI__AddSubMenu__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__AddSubMenu__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__AddSubMenu__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__AddSubMenu__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__AddSubMenu__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__AddSubMenu__request = {
+ "UI",
+ "AddSubMenu",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_AddSubMenu,
+ UI__AddSubMenu__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__AddSubMenu__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__AddSubMenu__response = {
+ "UI",
+ "AddSubMenu",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_AddSubMenu,
+ UI__AddSubMenu__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__DeleteSubMenu__request__parameter1 = {
+ "menuID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__DeleteSubMenu__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__DeleteSubMenu__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__DeleteSubMenu__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__DeleteSubMenu__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__DeleteSubMenu__request = {
+ "UI",
+ "DeleteSubMenu",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_DeleteSubMenu,
+ UI__DeleteSubMenu__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__DeleteSubMenu__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__DeleteSubMenu__response = {
+ "UI",
+ "DeleteSubMenu",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_DeleteSubMenu,
+ UI__DeleteSubMenu__response__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__PerformInteraction__request__parameter1 = {
+ {
+ "initialText",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__TextFieldStruct__parameters
+};
+const ford_message_descriptions::StructDescription UI__PerformInteraction__request__parameter2_array = {
+ {
+ "choiceSet",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__Choice__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__PerformInteraction__request__parameter2 = {
+ {
+ "choiceSet",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter2_array,
+ "(i(bs)(b(si))(bs)(bs)(b(si)))"
+};
+const ford_message_descriptions::ParameterDescription UI__PerformInteraction__request__parameter3 = {
+ "vrHelpTitle",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription UI__PerformInteraction__request__parameter4_array = {
+ {
+ "vrHelp",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VrHelpItem__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__PerformInteraction__request__parameter4 = {
+ {
+ "vrHelp",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter4_array,
+ "(s(b(si))i)"
+};
+const ford_message_descriptions::ParameterDescription UI__PerformInteraction__request__parameter5 = {
+ "timeout",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__PerformInteraction__request__parameter6 = {
+ "interactionLayout",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription UI__PerformInteraction__request__parameter7 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__PerformInteraction__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__request__parameter7,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__PerformInteraction__request = {
+ "UI",
+ "PerformInteraction",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_PerformInteraction,
+ UI__PerformInteraction__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__PerformInteraction__response__parameter1 = {
+ "choiceID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription UI__PerformInteraction__response__parameter2 = {
+ "manualTextEntry",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__PerformInteraction__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformInteraction__response__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__PerformInteraction__response = {
+ "UI",
+ "PerformInteraction",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_PerformInteraction,
+ UI__PerformInteraction__response__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__SetMediaClockTimer__request__parameter1 = {
+ {
+ "startTime",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__TimeFormat__parameters
+};
+const ford_message_descriptions::StructDescription UI__SetMediaClockTimer__request__parameter2 = {
+ {
+ "endTime",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__TimeFormat__parameters
+};
+const ford_message_descriptions::ParameterDescription UI__SetMediaClockTimer__request__parameter3 = {
+ "updateMode",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__SetMediaClockTimer__request__parameter4 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__SetMediaClockTimer__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetMediaClockTimer__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetMediaClockTimer__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetMediaClockTimer__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetMediaClockTimer__request__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetMediaClockTimer__request = {
+ "UI",
+ "SetMediaClockTimer",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_SetMediaClockTimer,
+ UI__SetMediaClockTimer__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__SetMediaClockTimer__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetMediaClockTimer__response = {
+ "UI",
+ "SetMediaClockTimer",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_SetMediaClockTimer,
+ UI__SetMediaClockTimer__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__SetGlobalProperties__request__parameter1 = {
+ "vrHelpTitle",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription UI__SetGlobalProperties__request__parameter2_array = {
+ {
+ "vrHelp",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VrHelpItem__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__SetGlobalProperties__request__parameter2 = {
+ {
+ "vrHelp",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetGlobalProperties__request__parameter2_array,
+ "(s(b(si))i)"
+};
+const ford_message_descriptions::ParameterDescription UI__SetGlobalProperties__request__parameter3 = {
+ "menuTitle",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription UI__SetGlobalProperties__request__parameter4 = {
+ {
+ "menuIcon",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::StructDescription UI__SetGlobalProperties__request__parameter5 = {
+ {
+ "keyboardProperties",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__KeyboardProperties__parameters
+};
+const ford_message_descriptions::ParameterDescription UI__SetGlobalProperties__request__parameter6 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__SetGlobalProperties__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetGlobalProperties__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetGlobalProperties__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetGlobalProperties__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetGlobalProperties__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetGlobalProperties__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetGlobalProperties__request__parameter6,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetGlobalProperties__request = {
+ "UI",
+ "SetGlobalProperties",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_SetGlobalProperties,
+ UI__SetGlobalProperties__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__SetGlobalProperties__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetGlobalProperties__response = {
+ "UI",
+ "SetGlobalProperties",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_SetGlobalProperties,
+ UI__SetGlobalProperties__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnCommand__notification__parameter1 = {
+ "cmdID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__OnCommand__notification__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__OnCommand__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnCommand__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnCommand__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnCommand__notification = {
+ "UI",
+ "OnCommand",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnCommand,
+ UI__OnCommand__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnSystemContext__notification__parameter1 = {
+ "systemContext",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__OnSystemContext__notification__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__OnSystemContext__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnSystemContext__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnSystemContext__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnSystemContext__notification = {
+ "UI",
+ "OnSystemContext",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnSystemContext,
+ UI__OnSystemContext__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__GetCapabilities__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__GetCapabilities__request = {
+ "UI",
+ "GetCapabilities",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_GetCapabilities,
+ UI__GetCapabilities__request__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__GetCapabilities__response__parameter1 = {
+ {
+ "displayCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DisplayCapabilities__parameters
+};
+const ford_message_descriptions::StructDescription UI__GetCapabilities__response__parameter2 = {
+ {
+ "audioPassThruCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__AudioPassThruCapabilities__parameters
+};
+const ford_message_descriptions::ParameterDescription UI__GetCapabilities__response__parameter3 = {
+ "hmiZoneCapabilities",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::StructDescription UI__GetCapabilities__response__parameter4_array = {
+ {
+ "softButtonCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButtonCapabilities__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__GetCapabilities__response__parameter4 = {
+ {
+ "softButtonCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetCapabilities__response__parameter4_array,
+ "(bbbb)"
+};
+const ford_message_descriptions::StructDescription UI__GetCapabilities__response__parameter5 = {
+ {
+ "hmiCapabilities",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__HMICapabilities__parameters
+};
+const ford_message_descriptions::ParameterDescription* UI__GetCapabilities__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetCapabilities__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetCapabilities__response__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetCapabilities__response__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetCapabilities__response__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetCapabilities__response__parameter5,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__GetCapabilities__response = {
+ "UI",
+ "GetCapabilities",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_GetCapabilities,
+ UI__GetCapabilities__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__ChangeRegistration__request__parameter1 = {
+ "appName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription UI__ChangeRegistration__request__parameter2 = {
+ "ngnMediaScreenAppName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription UI__ChangeRegistration__request__parameter3 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__ChangeRegistration__request__parameter4_array = {
+ "appHMIType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription UI__ChangeRegistration__request__parameter4 = {
+ {
+ "appHMIType",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__ChangeRegistration__request__parameter4_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription UI__ChangeRegistration__request__parameter5 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__ChangeRegistration__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__ChangeRegistration__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ChangeRegistration__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ChangeRegistration__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ChangeRegistration__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ChangeRegistration__request__parameter5,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ChangeRegistration__request = {
+ "UI",
+ "ChangeRegistration",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_ChangeRegistration,
+ UI__ChangeRegistration__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__ChangeRegistration__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ChangeRegistration__response = {
+ "UI",
+ "ChangeRegistration",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_ChangeRegistration,
+ UI__ChangeRegistration__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnLanguageChange__notification__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__OnLanguageChange__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnLanguageChange__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnLanguageChange__notification = {
+ "UI",
+ "OnLanguageChange",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnLanguageChange,
+ UI__OnLanguageChange__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__GetSupportedLanguages__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__GetSupportedLanguages__request = {
+ "UI",
+ "GetSupportedLanguages",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_GetSupportedLanguages,
+ UI__GetSupportedLanguages__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__GetSupportedLanguages__response__parameter1_array = {
+ "languages",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription UI__GetSupportedLanguages__response__parameter1 = {
+ {
+ "languages",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetSupportedLanguages__response__parameter1_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* UI__GetSupportedLanguages__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetSupportedLanguages__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__GetSupportedLanguages__response = {
+ "UI",
+ "GetSupportedLanguages",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_GetSupportedLanguages,
+ UI__GetSupportedLanguages__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__GetLanguage__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__GetLanguage__request = {
+ "UI",
+ "GetLanguage",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_GetLanguage,
+ UI__GetLanguage__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__GetLanguage__response__parameter1 = {
+ "language",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__GetLanguage__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__GetLanguage__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__GetLanguage__response = {
+ "UI",
+ "GetLanguage",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_GetLanguage,
+ UI__GetLanguage__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnDriverDistraction__notification__parameter1 = {
+ "state",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__OnDriverDistraction__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnDriverDistraction__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnDriverDistraction__notification = {
+ "UI",
+ "OnDriverDistraction",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnDriverDistraction,
+ UI__OnDriverDistraction__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__SetAppIcon__request__parameter1 = {
+ {
+ "syncFileName",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription UI__SetAppIcon__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__SetAppIcon__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetAppIcon__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetAppIcon__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetAppIcon__request = {
+ "UI",
+ "SetAppIcon",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_SetAppIcon,
+ UI__SetAppIcon__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__SetAppIcon__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetAppIcon__response = {
+ "UI",
+ "SetAppIcon",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_SetAppIcon,
+ UI__SetAppIcon__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__SetDisplayLayout__request__parameter1 = {
+ "displayLayout",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__SetDisplayLayout__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__SetDisplayLayout__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetDisplayLayout__request = {
+ "UI",
+ "SetDisplayLayout",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_SetDisplayLayout,
+ UI__SetDisplayLayout__request__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__SetDisplayLayout__response__parameter1 = {
+ {
+ "displayCapabilities",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__DisplayCapabilities__parameters
+};
+const ford_message_descriptions::StructDescription UI__SetDisplayLayout__response__parameter2_array = {
+ {
+ "buttonCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ButtonCapabilities__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__SetDisplayLayout__response__parameter2 = {
+ {
+ "buttonCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__response__parameter2_array,
+ "(ibbb)"
+};
+const ford_message_descriptions::StructDescription UI__SetDisplayLayout__response__parameter3_array = {
+ {
+ "softButtonCapabilities",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButtonCapabilities__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__SetDisplayLayout__response__parameter3 = {
+ {
+ "softButtonCapabilities",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__response__parameter3_array,
+ "(bbbb)"
+};
+const ford_message_descriptions::StructDescription UI__SetDisplayLayout__response__parameter4 = {
+ {
+ "presetBankCapabilities",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__PresetBankCapabilities__parameters
+};
+const ford_message_descriptions::ParameterDescription* UI__SetDisplayLayout__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__response__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__response__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SetDisplayLayout__response__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SetDisplayLayout__response = {
+ "UI",
+ "SetDisplayLayout",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_SetDisplayLayout,
+ UI__SetDisplayLayout__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__ShowCustomForm__request__parameter1 = {
+ "customFormID",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__ShowCustomForm__request__parameter2 = {
+ "parentFormID",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__ShowCustomForm__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__ShowCustomForm__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ShowCustomForm__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ShowCustomForm__request = {
+ "UI",
+ "ShowCustomForm",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_ShowCustomForm,
+ UI__ShowCustomForm__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__ShowCustomForm__response__parameter1 = {
+ "info",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__ShowCustomForm__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__ShowCustomForm__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ShowCustomForm__response = {
+ "UI",
+ "ShowCustomForm",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_ShowCustomForm,
+ UI__ShowCustomForm__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnKeyboardInput__notification__parameter1 = {
+ "event",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__OnKeyboardInput__notification__parameter2 = {
+ "data",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__OnKeyboardInput__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnKeyboardInput__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnKeyboardInput__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnKeyboardInput__notification = {
+ "UI",
+ "OnKeyboardInput",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnKeyboardInput,
+ UI__OnKeyboardInput__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnTouchEvent__notification__parameter1 = {
+ "type",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::StructDescription UI__OnTouchEvent__notification__parameter2_array = {
+ {
+ "event",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TouchEvent__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__OnTouchEvent__notification__parameter2 = {
+ {
+ "event",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnTouchEvent__notification__parameter2_array,
+ "(iaia(ii))"
+};
+const ford_message_descriptions::ParameterDescription* UI__OnTouchEvent__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnTouchEvent__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnTouchEvent__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnTouchEvent__notification = {
+ "UI",
+ "OnTouchEvent",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnTouchEvent,
+ UI__OnTouchEvent__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__Slider__request__parameter1 = {
+ "numTicks",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__Slider__request__parameter2 = {
+ "position",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__Slider__request__parameter3 = {
+ "sliderHeader",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__Slider__request__parameter4_array = {
+ "sliderFooter",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription UI__Slider__request__parameter4 = {
+ {
+ "sliderFooter",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__request__parameter4_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription UI__Slider__request__parameter5 = {
+ "timeout",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__Slider__request__parameter6 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__Slider__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__request__parameter6,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__Slider__request = {
+ "UI",
+ "Slider",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_Slider,
+ UI__Slider__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__Slider__response__parameter1 = {
+ "sliderPosition",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__Slider__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__Slider__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__Slider__response = {
+ "UI",
+ "Slider",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_Slider,
+ UI__Slider__response__parameters
+};
+
+const ford_message_descriptions::StructDescription UI__ScrollableMessage__request__parameter1 = {
+ {
+ "messageText",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TextFieldStruct__parameters
+};
+const ford_message_descriptions::ParameterDescription UI__ScrollableMessage__request__parameter2 = {
+ "timeout",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription UI__ScrollableMessage__request__parameter3_array = {
+ {
+ "softButtons",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButton__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__ScrollableMessage__request__parameter3 = {
+ {
+ "softButtons",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__ScrollableMessage__request__parameter3_array,
+ "(i(bs)(b(si))(bb)ii)"
+};
+const ford_message_descriptions::ParameterDescription UI__ScrollableMessage__request__parameter4 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__ScrollableMessage__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__ScrollableMessage__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ScrollableMessage__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ScrollableMessage__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__ScrollableMessage__request__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ScrollableMessage__request = {
+ "UI",
+ "ScrollableMessage",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_ScrollableMessage,
+ UI__ScrollableMessage__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__ScrollableMessage__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ScrollableMessage__response = {
+ "UI",
+ "ScrollableMessage",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_ScrollableMessage,
+ UI__ScrollableMessage__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__PerformAudioPassThru__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription UI__PerformAudioPassThru__request__parameter2_array = {
+ {
+ "audioPassThruDisplayTexts",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TextFieldStruct__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__PerformAudioPassThru__request__parameter2 = {
+ {
+ "audioPassThruDisplayTexts",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformAudioPassThru__request__parameter2_array,
+ "(is)"
+};
+const ford_message_descriptions::ParameterDescription UI__PerformAudioPassThru__request__parameter3 = {
+ "maxDuration",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__PerformAudioPassThru__request__parameter4 = {
+ "muteAudio",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__PerformAudioPassThru__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformAudioPassThru__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformAudioPassThru__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformAudioPassThru__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&UI__PerformAudioPassThru__request__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__PerformAudioPassThru__request = {
+ "UI",
+ "PerformAudioPassThru",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_PerformAudioPassThru,
+ UI__PerformAudioPassThru__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__PerformAudioPassThru__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__PerformAudioPassThru__response = {
+ "UI",
+ "PerformAudioPassThru",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_PerformAudioPassThru,
+ UI__PerformAudioPassThru__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__EndAudioPassThru__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__EndAudioPassThru__request = {
+ "UI",
+ "EndAudioPassThru",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_EndAudioPassThru,
+ UI__EndAudioPassThru__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__EndAudioPassThru__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__EndAudioPassThru__response = {
+ "UI",
+ "EndAudioPassThru",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_EndAudioPassThru,
+ UI__EndAudioPassThru__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__IsReady__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__IsReady__request = {
+ "UI",
+ "IsReady",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_IsReady,
+ UI__IsReady__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__IsReady__response__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__IsReady__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__IsReady__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__IsReady__response = {
+ "UI",
+ "IsReady",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_IsReady,
+ UI__IsReady__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__ClosePopUp__request__parameter1 = {
+ "methodName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription* UI__ClosePopUp__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__ClosePopUp__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ClosePopUp__request = {
+ "UI",
+ "ClosePopUp",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_ClosePopUp,
+ UI__ClosePopUp__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__ClosePopUp__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__ClosePopUp__response = {
+ "UI",
+ "ClosePopUp",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_ClosePopUp,
+ UI__ClosePopUp__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnResetTimeout__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription UI__OnResetTimeout__notification__parameter2 = {
+ "methodName",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__OnResetTimeout__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnResetTimeout__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnResetTimeout__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnResetTimeout__notification = {
+ "UI",
+ "OnResetTimeout",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnResetTimeout,
+ UI__OnResetTimeout__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__OnRecordStart__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* UI__OnRecordStart__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__OnRecordStart__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__OnRecordStart__notification = {
+ "UI",
+ "OnRecordStart",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::UI_OnRecordStart,
+ UI__OnRecordStart__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription UI__SendHapticData__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription UI__SendHapticData__request__parameter2_array = {
+ {
+ "hapticRectData",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__HapticRect__parameters
+};
+const ford_message_descriptions::ArrayDescription UI__SendHapticData__request__parameter2 = {
+ {
+ "hapticRectData",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&UI__SendHapticData__request__parameter2_array,
+ "(i(dddd))"
+};
+const ford_message_descriptions::ParameterDescription* UI__SendHapticData__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&UI__SendHapticData__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&UI__SendHapticData__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SendHapticData__request = {
+ "UI",
+ "SendHapticData",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::UI_SendHapticData,
+ UI__SendHapticData__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* UI__SendHapticData__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription UI__SendHapticData__response = {
+ "UI",
+ "SendHapticData",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::UI_SendHapticData,
+ UI__SendHapticData__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__IsReady__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__IsReady__request = {
+ "Navigation",
+ "IsReady",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_IsReady,
+ Navigation__IsReady__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__IsReady__response__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__IsReady__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__IsReady__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__IsReady__response = {
+ "Navigation",
+ "IsReady",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_IsReady,
+ Navigation__IsReady__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__SendLocation__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__SendLocation__request__parameter2 = {
+ "longitudeDegrees",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__SendLocation__request__parameter3 = {
+ "latitudeDegrees",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__SendLocation__request__parameter4 = {
+ "locationName",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Navigation__SendLocation__request__parameter5 = {
+ "locationDescription",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription Navigation__SendLocation__request__parameter6_array = {
+ "addressLines",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription Navigation__SendLocation__request__parameter6 = {
+ {
+ "addressLines",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter6_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription Navigation__SendLocation__request__parameter7 = {
+ "phoneNumber",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::StructDescription Navigation__SendLocation__request__parameter8 = {
+ {
+ "locationImage",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription* Navigation__SendLocation__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SendLocation__request__parameter8,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__SendLocation__request = {
+ "Navigation",
+ "SendLocation",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_SendLocation,
+ Navigation__SendLocation__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__SendLocation__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__SendLocation__response = {
+ "Navigation",
+ "SendLocation",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_SendLocation,
+ Navigation__SendLocation__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__DialNumber__request__parameter1 = {
+ "number",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__DialNumber__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__DialNumber__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__DialNumber__request = {
+ "Navigation",
+ "DialNumber",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_DialNumber,
+ Navigation__DialNumber__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__DialNumber__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__DialNumber__response = {
+ "Navigation",
+ "DialNumber",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_DialNumber,
+ Navigation__DialNumber__response__parameters
+};
+
+const ford_message_descriptions::StructDescription Navigation__ShowConstantTBT__request__parameter1_array = {
+ {
+ "navigationTexts",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TextFieldStruct__parameters
+};
+const ford_message_descriptions::ArrayDescription Navigation__ShowConstantTBT__request__parameter1 = {
+ {
+ "navigationTexts",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter1_array,
+ "(is)"
+};
+const ford_message_descriptions::StructDescription Navigation__ShowConstantTBT__request__parameter2 = {
+ {
+ "turnIcon",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::StructDescription Navigation__ShowConstantTBT__request__parameter3 = {
+ {
+ "nextTurnIcon",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__Image__parameters
+};
+const ford_message_descriptions::ParameterDescription Navigation__ShowConstantTBT__request__parameter4 = {
+ "distanceToManeuver",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__ShowConstantTBT__request__parameter5 = {
+ "distanceToManeuverScale",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__ShowConstantTBT__request__parameter6 = {
+ "maneuverComplete",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::StructDescription Navigation__ShowConstantTBT__request__parameter7_array = {
+ {
+ "softButtons",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButton__parameters
+};
+const ford_message_descriptions::ArrayDescription Navigation__ShowConstantTBT__request__parameter7 = {
+ {
+ "softButtons",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter7_array,
+ "(i(bs)(b(si))(bb)ii)"
+};
+const ford_message_descriptions::ParameterDescription Navigation__ShowConstantTBT__request__parameter8 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__ShowConstantTBT__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__ShowConstantTBT__request__parameter8,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__ShowConstantTBT__request = {
+ "Navigation",
+ "ShowConstantTBT",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_ShowConstantTBT,
+ Navigation__ShowConstantTBT__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__ShowConstantTBT__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__ShowConstantTBT__response = {
+ "Navigation",
+ "ShowConstantTBT",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_ShowConstantTBT,
+ Navigation__ShowConstantTBT__response__parameters
+};
+
+const ford_message_descriptions::StructDescription Navigation__AlertManeuver__request__parameter1_array = {
+ {
+ "softButtons",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButton__parameters
+};
+const ford_message_descriptions::ArrayDescription Navigation__AlertManeuver__request__parameter1 = {
+ {
+ "softButtons",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__AlertManeuver__request__parameter1_array,
+ "(i(bs)(b(si))(bb)ii)"
+};
+const ford_message_descriptions::ParameterDescription Navigation__AlertManeuver__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__AlertManeuver__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__AlertManeuver__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__AlertManeuver__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__AlertManeuver__request = {
+ "Navigation",
+ "AlertManeuver",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_AlertManeuver,
+ Navigation__AlertManeuver__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__AlertManeuver__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__AlertManeuver__response = {
+ "Navigation",
+ "AlertManeuver",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_AlertManeuver,
+ Navigation__AlertManeuver__response__parameters
+};
+
+const ford_message_descriptions::StructDescription Navigation__UpdateTurnList__request__parameter1_array = {
+ {
+ "turnList",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__Turn__parameters
+};
+const ford_message_descriptions::ArrayDescription Navigation__UpdateTurnList__request__parameter1 = {
+ {
+ "turnList",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__UpdateTurnList__request__parameter1_array,
+ "((b(is))(b(si)))"
+};
+const ford_message_descriptions::StructDescription Navigation__UpdateTurnList__request__parameter2_array = {
+ {
+ "softButtons",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__SoftButton__parameters
+};
+const ford_message_descriptions::ArrayDescription Navigation__UpdateTurnList__request__parameter2 = {
+ {
+ "softButtons",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__UpdateTurnList__request__parameter2_array,
+ "(i(bs)(b(si))(bb)ii)"
+};
+const ford_message_descriptions::ParameterDescription Navigation__UpdateTurnList__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__UpdateTurnList__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__UpdateTurnList__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__UpdateTurnList__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__UpdateTurnList__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__UpdateTurnList__request = {
+ "Navigation",
+ "UpdateTurnList",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_UpdateTurnList,
+ Navigation__UpdateTurnList__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__UpdateTurnList__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__UpdateTurnList__response = {
+ "Navigation",
+ "UpdateTurnList",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_UpdateTurnList,
+ Navigation__UpdateTurnList__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__OnTBTClientState__notification__parameter1 = {
+ "state",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__OnTBTClientState__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__OnTBTClientState__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__OnTBTClientState__notification = {
+ "Navigation",
+ "OnTBTClientState",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::Navigation_OnTBTClientState,
+ Navigation__OnTBTClientState__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription Navigation__SetVideoConfig__request__parameter1 = {
+ {
+ "config",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VideoConfig__parameters
+};
+const ford_message_descriptions::ParameterDescription Navigation__SetVideoConfig__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__SetVideoConfig__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SetVideoConfig__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SetVideoConfig__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__SetVideoConfig__request = {
+ "Navigation",
+ "SetVideoConfig",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_SetVideoConfig,
+ Navigation__SetVideoConfig__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__SetVideoConfig__response__parameter1_array = {
+ "rejectedParams",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription Navigation__SetVideoConfig__response__parameter1 = {
+ {
+ "rejectedParams",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SetVideoConfig__response__parameter1_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription* Navigation__SetVideoConfig__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__SetVideoConfig__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__SetVideoConfig__response = {
+ "Navigation",
+ "SetVideoConfig",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_SetVideoConfig,
+ Navigation__SetVideoConfig__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__StartStream__request__parameter1 = {
+ "url",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__StartStream__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__StartStream__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__StartStream__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__StartStream__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StartStream__request = {
+ "Navigation",
+ "StartStream",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_StartStream,
+ Navigation__StartStream__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__StartStream__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StartStream__response = {
+ "Navigation",
+ "StartStream",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_StartStream,
+ Navigation__StartStream__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__StopStream__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__StopStream__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__StopStream__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StopStream__request = {
+ "Navigation",
+ "StopStream",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_StopStream,
+ Navigation__StopStream__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__StopStream__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StopStream__response = {
+ "Navigation",
+ "StopStream",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_StopStream,
+ Navigation__StopStream__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__StartAudioStream__request__parameter1 = {
+ "url",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__StartAudioStream__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__StartAudioStream__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__StartAudioStream__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__StartAudioStream__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StartAudioStream__request = {
+ "Navigation",
+ "StartAudioStream",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_StartAudioStream,
+ Navigation__StartAudioStream__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__StartAudioStream__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StartAudioStream__response = {
+ "Navigation",
+ "StartAudioStream",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_StartAudioStream,
+ Navigation__StartAudioStream__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__StopAudioStream__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__StopAudioStream__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__StopAudioStream__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StopAudioStream__request = {
+ "Navigation",
+ "StopAudioStream",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_StopAudioStream,
+ Navigation__StopAudioStream__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__StopAudioStream__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__StopAudioStream__response = {
+ "Navigation",
+ "StopAudioStream",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_StopAudioStream,
+ Navigation__StopAudioStream__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__OnAudioDataStreaming__notification__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__OnAudioDataStreaming__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__OnAudioDataStreaming__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__OnAudioDataStreaming__notification = {
+ "Navigation",
+ "OnAudioDataStreaming",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::Navigation_OnAudioDataStreaming,
+ Navigation__OnAudioDataStreaming__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__OnVideoDataStreaming__notification__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__OnVideoDataStreaming__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__OnVideoDataStreaming__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__OnVideoDataStreaming__notification = {
+ "Navigation",
+ "OnVideoDataStreaming",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::Navigation_OnVideoDataStreaming,
+ Navigation__OnVideoDataStreaming__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__GetWayPoints__request__parameter1 = {
+ "wayPointType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription Navigation__GetWayPoints__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* Navigation__GetWayPoints__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__GetWayPoints__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__GetWayPoints__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__GetWayPoints__request = {
+ "Navigation",
+ "GetWayPoints",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_GetWayPoints,
+ Navigation__GetWayPoints__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription Navigation__GetWayPoints__response__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::StructDescription Navigation__GetWayPoints__response__parameter2_array = {
+ {
+ "wayPoints",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__LocationDetails__parameters
+};
+const ford_message_descriptions::ArrayDescription Navigation__GetWayPoints__response__parameter2 = {
+ {
+ "wayPoints",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__GetWayPoints__response__parameter2_array,
+ "((b(dd))(bs)(bas)(bs)(bs)(b(si))(b((bs)(bs)(bs)(bs)(bs)(bs)(bs)(bs)(bs))))"
+};
+const ford_message_descriptions::ParameterDescription* Navigation__GetWayPoints__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__GetWayPoints__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__GetWayPoints__response__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__GetWayPoints__response = {
+ "Navigation",
+ "GetWayPoints",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_GetWayPoints,
+ Navigation__GetWayPoints__response__parameters
+};
+
+const ford_message_descriptions::StructDescription Navigation__OnWayPointChange__notification__parameter1_array = {
+ {
+ "wayPoints",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__LocationDetails__parameters
+};
+const ford_message_descriptions::ArrayDescription Navigation__OnWayPointChange__notification__parameter1 = {
+ {
+ "wayPoints",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__OnWayPointChange__notification__parameter1_array,
+ "((b(dd))(bs)(bas)(bs)(bs)(b(si))(b((bs)(bs)(bs)(bs)(bs)(bs)(bs)(bs)(bs))))"
+};
+const ford_message_descriptions::ParameterDescription* Navigation__OnWayPointChange__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&Navigation__OnWayPointChange__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__OnWayPointChange__notification = {
+ "Navigation",
+ "OnWayPointChange",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::Navigation_OnWayPointChange,
+ Navigation__OnWayPointChange__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__SubscribeWayPoints__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__SubscribeWayPoints__request = {
+ "Navigation",
+ "SubscribeWayPoints",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_SubscribeWayPoints,
+ Navigation__SubscribeWayPoints__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__SubscribeWayPoints__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__SubscribeWayPoints__response = {
+ "Navigation",
+ "SubscribeWayPoints",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_SubscribeWayPoints,
+ Navigation__SubscribeWayPoints__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__UnsubscribeWayPoints__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__UnsubscribeWayPoints__request = {
+ "Navigation",
+ "UnsubscribeWayPoints",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::Navigation_UnsubscribeWayPoints,
+ Navigation__UnsubscribeWayPoints__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* Navigation__UnsubscribeWayPoints__response__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription Navigation__UnsubscribeWayPoints__response = {
+ "Navigation",
+ "UnsubscribeWayPoints",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::Navigation_UnsubscribeWayPoints,
+ Navigation__UnsubscribeWayPoints__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__IsReady__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__IsReady__request = {
+ "VehicleInfo",
+ "IsReady",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_IsReady,
+ VehicleInfo__IsReady__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__IsReady__response__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__IsReady__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__IsReady__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__IsReady__response = {
+ "VehicleInfo",
+ "IsReady",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_IsReady,
+ VehicleInfo__IsReady__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetVehicleType__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetVehicleType__request = {
+ "VehicleInfo",
+ "GetVehicleType",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetVehicleType,
+ VehicleInfo__GetVehicleType__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleType__response__parameter1 = {
+ {
+ "vehicleType",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleType__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetVehicleType__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleType__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetVehicleType__response = {
+ "VehicleInfo",
+ "GetVehicleType",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetVehicleType,
+ VehicleInfo__GetVehicleType__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__ReadDID__request__parameter1 = {
+ "ecuName",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__ReadDID__request__parameter2_array = {
+ "didLocation",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ArrayDescription VehicleInfo__ReadDID__request__parameter2 = {
+ {
+ "didLocation",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__ReadDID__request__parameter2_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__ReadDID__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__ReadDID__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__ReadDID__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__ReadDID__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__ReadDID__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__ReadDID__request = {
+ "VehicleInfo",
+ "ReadDID",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_ReadDID,
+ VehicleInfo__ReadDID__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__ReadDID__response__parameter1_array = {
+ {
+ "didResult",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DIDResult__parameters
+};
+const ford_message_descriptions::ArrayDescription VehicleInfo__ReadDID__response__parameter1 = {
+ {
+ "didResult",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__ReadDID__response__parameter1_array,
+ "(ii(bs))"
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__ReadDID__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__ReadDID__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__ReadDID__response = {
+ "VehicleInfo",
+ "ReadDID",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_ReadDID,
+ VehicleInfo__ReadDID__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDTCs__request__parameter1 = {
+ "ecuName",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDTCs__request__parameter2 = {
+ "dtcMask",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDTCs__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetDTCs__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDTCs__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDTCs__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDTCs__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetDTCs__request = {
+ "VehicleInfo",
+ "GetDTCs",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetDTCs,
+ VehicleInfo__GetDTCs__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDTCs__response__parameter1 = {
+ "ecuHeader",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDTCs__response__parameter2_array = {
+ "dtc",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription VehicleInfo__GetDTCs__response__parameter2 = {
+ {
+ "dtc",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDTCs__response__parameter2_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetDTCs__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDTCs__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDTCs__response__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetDTCs__response = {
+ "VehicleInfo",
+ "GetDTCs",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetDTCs,
+ VehicleInfo__GetDTCs__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__DiagnosticMessage__request__parameter1 = {
+ "targetID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__DiagnosticMessage__request__parameter2 = {
+ "messageLength",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__DiagnosticMessage__request__parameter3_array = {
+ "messageData",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ArrayDescription VehicleInfo__DiagnosticMessage__request__parameter3 = {
+ {
+ "messageData",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__DiagnosticMessage__request__parameter3_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__DiagnosticMessage__request__parameter4 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__DiagnosticMessage__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__DiagnosticMessage__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__DiagnosticMessage__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__DiagnosticMessage__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__DiagnosticMessage__request__parameter4,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__DiagnosticMessage__request = {
+ "VehicleInfo",
+ "DiagnosticMessage",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_DiagnosticMessage,
+ VehicleInfo__DiagnosticMessage__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__DiagnosticMessage__response__parameter1_array = {
+ "messageDataResult",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ArrayDescription VehicleInfo__DiagnosticMessage__response__parameter1 = {
+ {
+ "messageDataResult",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__DiagnosticMessage__response__parameter1_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__DiagnosticMessage__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__DiagnosticMessage__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__DiagnosticMessage__response = {
+ "VehicleInfo",
+ "DiagnosticMessage",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_DiagnosticMessage,
+ VehicleInfo__DiagnosticMessage__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter1 = {
+ "gps",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter2 = {
+ "speed",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter3 = {
+ "rpm",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter4 = {
+ "fuelLevel",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter5 = {
+ "fuelLevel_State",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter6 = {
+ "instantFuelConsumption",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter7 = {
+ "externalTemperature",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter8 = {
+ "prndl",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter9 = {
+ "tirePressure",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter10 = {
+ "odometer",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter11 = {
+ "beltStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter12 = {
+ "bodyInformation",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter13 = {
+ "deviceStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter14 = {
+ "driverBraking",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter15 = {
+ "wiperStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter16 = {
+ "headLampStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter17 = {
+ "engineTorque",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter18 = {
+ "accPedalPosition",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter19 = {
+ "steeringWheelAngle",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter20 = {
+ "eCallInfo",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter21 = {
+ "airbagStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter22 = {
+ "emergencyEvent",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter23 = {
+ "clusterModeStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVehicleData__request__parameter24 = {
+ "myKey",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeVehicleData__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter18,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter19,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter20,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter21,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter22,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter23,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__request__parameter24,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeVehicleData__request = {
+ "VehicleInfo",
+ "SubscribeVehicleData",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeVehicleData,
+ VehicleInfo__SubscribeVehicleData__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter2 = {
+ {
+ "speed",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter3 = {
+ {
+ "rpm",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter4 = {
+ {
+ "fuelLevel",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter5 = {
+ {
+ "fuelLevel_State",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter6 = {
+ {
+ "instantFuelConsumption",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter7 = {
+ {
+ "externalTemperature",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter8 = {
+ {
+ "prndl",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter9 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter10 = {
+ {
+ "odometer",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter11 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter12 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter13 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter14 = {
+ {
+ "driverBraking",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter15 = {
+ {
+ "wiperStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter16 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter17 = {
+ {
+ "engineTorque",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter18 = {
+ {
+ "accPedalPosition",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter19 = {
+ {
+ "steeringWheelAngle",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter20 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter21 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter22 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter23 = {
+ {
+ "clusterModes",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeVehicleData__response__parameter24 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeVehicleData__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter18,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter19,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter20,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter21,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter22,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter23,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVehicleData__response__parameter24,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeVehicleData__response = {
+ "VehicleInfo",
+ "SubscribeVehicleData",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeVehicleData,
+ VehicleInfo__SubscribeVehicleData__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter2 = {
+ "gps",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter3 = {
+ "speed",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter4 = {
+ "rpm",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter5 = {
+ "fuelLevel",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter6 = {
+ "fuelLevel_State",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter7 = {
+ "instantFuelConsumption",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter8 = {
+ "externalTemperature",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter9 = {
+ "prndl",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter10 = {
+ "tirePressure",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter11 = {
+ "odometer",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter12 = {
+ "beltStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter13 = {
+ "bodyInformation",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter14 = {
+ "deviceStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter15 = {
+ "driverBraking",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter16 = {
+ "wiperStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter17 = {
+ "headLampStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter18 = {
+ "engineTorque",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter19 = {
+ "accPedalPosition",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter20 = {
+ "steeringWheelAngle",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter21 = {
+ "eCallInfo",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter22 = {
+ "airbagStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter23 = {
+ "emergencyEvent",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter24 = {
+ "clusterModeStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVehicleData__request__parameter25 = {
+ "myKey",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeVehicleData__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter18,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter19,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter20,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter21,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter22,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter23,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter24,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__request__parameter25,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeVehicleData__request = {
+ "VehicleInfo",
+ "UnsubscribeVehicleData",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeVehicleData,
+ VehicleInfo__UnsubscribeVehicleData__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter2 = {
+ {
+ "speed",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter3 = {
+ {
+ "rpm",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter4 = {
+ {
+ "fuelLevel",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter5 = {
+ {
+ "fuelLevel_State",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter6 = {
+ {
+ "instantFuelConsumption",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter7 = {
+ {
+ "externalTemperature",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter8 = {
+ {
+ "prndl",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter9 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter10 = {
+ {
+ "odometer",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter11 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter12 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter13 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter14 = {
+ {
+ "driverBraking",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter15 = {
+ {
+ "wiperStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter16 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter17 = {
+ {
+ "engineTorque",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter18 = {
+ {
+ "accPedalPosition",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter19 = {
+ {
+ "steeringWheelAngle",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter20 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter21 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter22 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter23 = {
+ {
+ "clusterModes",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeVehicleData__response__parameter24 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeVehicleData__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter18,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter19,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter20,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter21,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter22,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter23,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVehicleData__response__parameter24,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeVehicleData__response = {
+ "VehicleInfo",
+ "UnsubscribeVehicleData",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeVehicleData,
+ VehicleInfo__UnsubscribeVehicleData__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter1 = {
+ "gps",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter2 = {
+ "speed",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter3 = {
+ "rpm",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter4 = {
+ "fuelLevel",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter5 = {
+ "fuelLevel_State",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter6 = {
+ "instantFuelConsumption",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter7 = {
+ "externalTemperature",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter8 = {
+ "vin",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter9 = {
+ "prndl",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter10 = {
+ "tirePressure",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter11 = {
+ "odometer",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter12 = {
+ "beltStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter13 = {
+ "bodyInformation",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter14 = {
+ "deviceStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter15 = {
+ "driverBraking",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter16 = {
+ "wiperStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter17 = {
+ "headLampStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter18 = {
+ "engineTorque",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter19 = {
+ "accPedalPosition",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter20 = {
+ "steeringWheelAngle",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter21 = {
+ "eCallInfo",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter22 = {
+ "airbagStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter23 = {
+ "emergencyEvent",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter24 = {
+ "clusterModeStatus",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__request__parameter25 = {
+ "myKey",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetVehicleData__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter18,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter19,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter20,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter21,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter22,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter23,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter24,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__request__parameter25,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetVehicleData__request = {
+ "VehicleInfo",
+ "GetVehicleData",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetVehicleData,
+ VehicleInfo__GetVehicleData__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__GPSData__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter2 = {
+ "speed",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter3 = {
+ "rpm",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter4 = {
+ "fuelLevel",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter5 = {
+ "fuelLevel_State",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter6 = {
+ "instantFuelConsumption",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter7 = {
+ "externalTemperature",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter8 = {
+ "vin",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter9 = {
+ "prndl",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter10 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__TireStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter11 = {
+ "odometer",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter12 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__BeltStatus__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter13 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__BodyInformation__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter14 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__DeviceStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter15 = {
+ "driverBraking",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter16 = {
+ "wiperStatus",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter17 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__HeadLampStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter18 = {
+ "engineTorque",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter19 = {
+ "accPedalPosition",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVehicleData__response__parameter20 = {
+ "steeringWheelAngle",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter21 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ECallInfo__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter22 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__AirbagStatus__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter23 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__EmergencyEvent__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter24 = {
+ {
+ "clusterModeStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ClusterModeStatus__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__GetVehicleData__response__parameter25 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__MyKey__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetVehicleData__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter18,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter19,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter20,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter21,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter22,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter23,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter24,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVehicleData__response__parameter25,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetVehicleData__response = {
+ "VehicleInfo",
+ "GetVehicleData",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetVehicleData,
+ VehicleInfo__GetVehicleData__response__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__GPSData__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter2 = {
+ "speed",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter3 = {
+ "rpm",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter4 = {
+ "fuelLevel",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter5 = {
+ "fuelLevel_State",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter6 = {
+ "instantFuelConsumption",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter7 = {
+ "externalTemperature",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter8 = {
+ "vin",
+ ford_message_descriptions::String,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter9 = {
+ "prndl",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter10 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__TireStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter11 = {
+ "odometer",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter12 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__BeltStatus__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter13 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__BodyInformation__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter14 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__DeviceStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter15 = {
+ "driverBraking",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter16 = {
+ "wiperStatus",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter17 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__HeadLampStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter18 = {
+ "engineTorque",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter19 = {
+ "accPedalPosition",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVehicleData__notification__parameter20 = {
+ "steeringWheelAngle",
+ ford_message_descriptions::Float,
+ false
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter21 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ECallInfo__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter22 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__AirbagStatus__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter23 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__EmergencyEvent__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter24 = {
+ {
+ "clusterModeStatus",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__ClusterModeStatus__parameters
+};
+const ford_message_descriptions::StructDescription VehicleInfo__OnVehicleData__notification__parameter25 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__MyKey__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnVehicleData__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter8,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter9,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter10,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter11,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter12,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter13,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter14,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter15,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter16,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter17,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter18,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter19,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter20,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter21,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter22,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter23,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter24,
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVehicleData__notification__parameter25,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnVehicleData__notification = {
+ "VehicleInfo",
+ "OnVehicleData",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnVehicleData,
+ VehicleInfo__OnVehicleData__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetGpsData__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetGpsData__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetGpsData__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetGpsData__request = {
+ "VehicleInfo",
+ "GetGpsData",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetGpsData,
+ VehicleInfo__GetGpsData__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetGpsData__response__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__GPSData__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetGpsData__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetGpsData__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetGpsData__response = {
+ "VehicleInfo",
+ "GetGpsData",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetGpsData,
+ VehicleInfo__GetGpsData__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetSpeed__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetSpeed__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetSpeed__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetSpeed__request = {
+ "VehicleInfo",
+ "GetSpeed",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetSpeed,
+ VehicleInfo__GetSpeed__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetSpeed__response__parameter1 = {
+ "speed",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetSpeed__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetSpeed__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetSpeed__response = {
+ "VehicleInfo",
+ "GetSpeed",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetSpeed,
+ VehicleInfo__GetSpeed__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetRpm__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetRpm__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetRpm__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetRpm__request = {
+ "VehicleInfo",
+ "GetRpm",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetRpm,
+ VehicleInfo__GetRpm__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetRpm__response__parameter1 = {
+ "rpm",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetRpm__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetRpm__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetRpm__response = {
+ "VehicleInfo",
+ "GetRpm",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetRpm,
+ VehicleInfo__GetRpm__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetFuelLevel__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetFuelLevel__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetFuelLevel__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetFuelLevel__request = {
+ "VehicleInfo",
+ "GetFuelLevel",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetFuelLevel,
+ VehicleInfo__GetFuelLevel__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetFuelLevel__response__parameter1 = {
+ "fuelLevel",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetFuelLevel__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetFuelLevel__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetFuelLevel__response = {
+ "VehicleInfo",
+ "GetFuelLevel",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetFuelLevel,
+ VehicleInfo__GetFuelLevel__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetFuelLevelState__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetFuelLevelState__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetFuelLevelState__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetFuelLevelState__request = {
+ "VehicleInfo",
+ "GetFuelLevelState",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetFuelLevelState,
+ VehicleInfo__GetFuelLevelState__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetFuelLevelState__response__parameter1 = {
+ "fuelLevel_State",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetFuelLevelState__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetFuelLevelState__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetFuelLevelState__response = {
+ "VehicleInfo",
+ "GetFuelLevelState",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetFuelLevelState,
+ VehicleInfo__GetFuelLevelState__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetInstantFuelConsumption__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetInstantFuelConsumption__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetInstantFuelConsumption__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetInstantFuelConsumption__request = {
+ "VehicleInfo",
+ "GetInstantFuelConsumption",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetInstantFuelConsumption,
+ VehicleInfo__GetInstantFuelConsumption__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetInstantFuelConsumption__response__parameter1 = {
+ "instantFuelConsumption",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetInstantFuelConsumption__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetInstantFuelConsumption__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetInstantFuelConsumption__response = {
+ "VehicleInfo",
+ "GetInstantFuelConsumption",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetInstantFuelConsumption,
+ VehicleInfo__GetInstantFuelConsumption__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetExternalTemperature__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetExternalTemperature__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetExternalTemperature__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetExternalTemperature__request = {
+ "VehicleInfo",
+ "GetExternalTemperature",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetExternalTemperature,
+ VehicleInfo__GetExternalTemperature__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetExternalTemperature__response__parameter1 = {
+ "externalTemperature",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetExternalTemperature__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetExternalTemperature__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetExternalTemperature__response = {
+ "VehicleInfo",
+ "GetExternalTemperature",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetExternalTemperature,
+ VehicleInfo__GetExternalTemperature__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVin__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetVin__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVin__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetVin__request = {
+ "VehicleInfo",
+ "GetVin",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetVin,
+ VehicleInfo__GetVin__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetVin__response__parameter1 = {
+ "vin",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetVin__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetVin__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetVin__response = {
+ "VehicleInfo",
+ "GetVin",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetVin,
+ VehicleInfo__GetVin__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetPrndl__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetPrndl__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetPrndl__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetPrndl__request = {
+ "VehicleInfo",
+ "GetPrndl",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetPrndl,
+ VehicleInfo__GetPrndl__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetPrndl__response__parameter1 = {
+ "prndl",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetPrndl__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetPrndl__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetPrndl__response = {
+ "VehicleInfo",
+ "GetPrndl",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetPrndl,
+ VehicleInfo__GetPrndl__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetTirePressure__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetTirePressure__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetTirePressure__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetTirePressure__request = {
+ "VehicleInfo",
+ "GetTirePressure",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetTirePressure,
+ VehicleInfo__GetTirePressure__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetTirePressure__response__parameter1 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TireStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetTirePressure__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetTirePressure__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetTirePressure__response = {
+ "VehicleInfo",
+ "GetTirePressure",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetTirePressure,
+ VehicleInfo__GetTirePressure__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetOdometer__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetOdometer__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetOdometer__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetOdometer__request = {
+ "VehicleInfo",
+ "GetOdometer",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetOdometer,
+ VehicleInfo__GetOdometer__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetOdometer__response__parameter1 = {
+ "odometer",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetOdometer__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetOdometer__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetOdometer__response = {
+ "VehicleInfo",
+ "GetOdometer",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetOdometer,
+ VehicleInfo__GetOdometer__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetBeltStatus__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetBeltStatus__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetBeltStatus__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetBeltStatus__request = {
+ "VehicleInfo",
+ "GetBeltStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetBeltStatus,
+ VehicleInfo__GetBeltStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetBeltStatus__response__parameter1 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__BeltStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetBeltStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetBeltStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetBeltStatus__response = {
+ "VehicleInfo",
+ "GetBeltStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetBeltStatus,
+ VehicleInfo__GetBeltStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetBodyInformation__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetBodyInformation__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetBodyInformation__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetBodyInformation__request = {
+ "VehicleInfo",
+ "GetBodyInformation",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetBodyInformation,
+ VehicleInfo__GetBodyInformation__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetBodyInformation__response__parameter1 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__BodyInformation__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetBodyInformation__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetBodyInformation__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetBodyInformation__response = {
+ "VehicleInfo",
+ "GetBodyInformation",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetBodyInformation,
+ VehicleInfo__GetBodyInformation__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDeviceStatus__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetDeviceStatus__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDeviceStatus__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetDeviceStatus__request = {
+ "VehicleInfo",
+ "GetDeviceStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetDeviceStatus,
+ VehicleInfo__GetDeviceStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetDeviceStatus__response__parameter1 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DeviceStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetDeviceStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDeviceStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetDeviceStatus__response = {
+ "VehicleInfo",
+ "GetDeviceStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetDeviceStatus,
+ VehicleInfo__GetDeviceStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDriverBraking__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetDriverBraking__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDriverBraking__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetDriverBraking__request = {
+ "VehicleInfo",
+ "GetDriverBraking",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetDriverBraking,
+ VehicleInfo__GetDriverBraking__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetDriverBraking__response__parameter1 = {
+ "driverBraking",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetDriverBraking__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetDriverBraking__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetDriverBraking__response = {
+ "VehicleInfo",
+ "GetDriverBraking",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetDriverBraking,
+ VehicleInfo__GetDriverBraking__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetWiperStatus__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetWiperStatus__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetWiperStatus__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetWiperStatus__request = {
+ "VehicleInfo",
+ "GetWiperStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetWiperStatus,
+ VehicleInfo__GetWiperStatus__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetWiperStatus__response__parameter1 = {
+ "wiperStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetWiperStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetWiperStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetWiperStatus__response = {
+ "VehicleInfo",
+ "GetWiperStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetWiperStatus,
+ VehicleInfo__GetWiperStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetHeadLampStatus__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetHeadLampStatus__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetHeadLampStatus__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetHeadLampStatus__request = {
+ "VehicleInfo",
+ "GetHeadLampStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetHeadLampStatus,
+ VehicleInfo__GetHeadLampStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetHeadLampStatus__response__parameter1 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__HeadLampStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetHeadLampStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetHeadLampStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetHeadLampStatus__response = {
+ "VehicleInfo",
+ "GetHeadLampStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetHeadLampStatus,
+ VehicleInfo__GetHeadLampStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetEngineTorque__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetEngineTorque__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetEngineTorque__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetEngineTorque__request = {
+ "VehicleInfo",
+ "GetEngineTorque",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetEngineTorque,
+ VehicleInfo__GetEngineTorque__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetEngineTorque__response__parameter1 = {
+ "engineTorque",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetEngineTorque__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetEngineTorque__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetEngineTorque__response = {
+ "VehicleInfo",
+ "GetEngineTorque",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetEngineTorque,
+ VehicleInfo__GetEngineTorque__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetAccPedalPosition__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetAccPedalPosition__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetAccPedalPosition__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetAccPedalPosition__request = {
+ "VehicleInfo",
+ "GetAccPedalPosition",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetAccPedalPosition,
+ VehicleInfo__GetAccPedalPosition__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetAccPedalPosition__response__parameter1 = {
+ "accPedalPosition",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetAccPedalPosition__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetAccPedalPosition__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetAccPedalPosition__response = {
+ "VehicleInfo",
+ "GetAccPedalPosition",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetAccPedalPosition,
+ VehicleInfo__GetAccPedalPosition__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetSteeringWheelAngle__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetSteeringWheelAngle__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetSteeringWheelAngle__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetSteeringWheelAngle__request = {
+ "VehicleInfo",
+ "GetSteeringWheelAngle",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetSteeringWheelAngle,
+ VehicleInfo__GetSteeringWheelAngle__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetSteeringWheelAngle__response__parameter1 = {
+ "steeringWheelAngle",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetSteeringWheelAngle__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetSteeringWheelAngle__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetSteeringWheelAngle__response = {
+ "VehicleInfo",
+ "GetSteeringWheelAngle",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetSteeringWheelAngle,
+ VehicleInfo__GetSteeringWheelAngle__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetECallInfo__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetECallInfo__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetECallInfo__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetECallInfo__request = {
+ "VehicleInfo",
+ "GetECallInfo",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetECallInfo,
+ VehicleInfo__GetECallInfo__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetECallInfo__response__parameter1 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ECallInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetECallInfo__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetECallInfo__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetECallInfo__response = {
+ "VehicleInfo",
+ "GetECallInfo",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetECallInfo,
+ VehicleInfo__GetECallInfo__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetAirbagStatus__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetAirbagStatus__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetAirbagStatus__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetAirbagStatus__request = {
+ "VehicleInfo",
+ "GetAirbagStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetAirbagStatus,
+ VehicleInfo__GetAirbagStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetAirbagStatus__response__parameter1 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__AirbagStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetAirbagStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetAirbagStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetAirbagStatus__response = {
+ "VehicleInfo",
+ "GetAirbagStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetAirbagStatus,
+ VehicleInfo__GetAirbagStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetEmergencyEvent__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetEmergencyEvent__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetEmergencyEvent__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetEmergencyEvent__request = {
+ "VehicleInfo",
+ "GetEmergencyEvent",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetEmergencyEvent,
+ VehicleInfo__GetEmergencyEvent__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetEmergencyEvent__response__parameter1 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__EmergencyEvent__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetEmergencyEvent__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetEmergencyEvent__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetEmergencyEvent__response = {
+ "VehicleInfo",
+ "GetEmergencyEvent",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetEmergencyEvent,
+ VehicleInfo__GetEmergencyEvent__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetClusterModeStatus__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetClusterModeStatus__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetClusterModeStatus__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetClusterModeStatus__request = {
+ "VehicleInfo",
+ "GetClusterModeStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetClusterModeStatus,
+ VehicleInfo__GetClusterModeStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetClusterModeStatus__response__parameter1 = {
+ {
+ "clusterModeStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ClusterModeStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetClusterModeStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetClusterModeStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetClusterModeStatus__response = {
+ "VehicleInfo",
+ "GetClusterModeStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetClusterModeStatus,
+ VehicleInfo__GetClusterModeStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__GetMyKey__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetMyKey__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetMyKey__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetMyKey__request = {
+ "VehicleInfo",
+ "GetMyKey",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_GetMyKey,
+ VehicleInfo__GetMyKey__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__GetMyKey__response__parameter1 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__MyKey__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__GetMyKey__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__GetMyKey__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__GetMyKey__response = {
+ "VehicleInfo",
+ "GetMyKey",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_GetMyKey,
+ VehicleInfo__GetMyKey__response__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnGpsData__notification__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__GPSData__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnGpsData__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnGpsData__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnGpsData__notification = {
+ "VehicleInfo",
+ "OnGpsData",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnGpsData,
+ VehicleInfo__OnGpsData__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnSpeed__notification__parameter1 = {
+ "speed",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnSpeed__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnSpeed__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnSpeed__notification = {
+ "VehicleInfo",
+ "OnSpeed",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnSpeed,
+ VehicleInfo__OnSpeed__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnRpm__notification__parameter1 = {
+ "rpm",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnRpm__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnRpm__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnRpm__notification = {
+ "VehicleInfo",
+ "OnRpm",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnRpm,
+ VehicleInfo__OnRpm__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnFuelLevel__notification__parameter1 = {
+ "fuelLevel",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnFuelLevel__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnFuelLevel__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnFuelLevel__notification = {
+ "VehicleInfo",
+ "OnFuelLevel",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnFuelLevel,
+ VehicleInfo__OnFuelLevel__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnFuelLevelState__notification__parameter1 = {
+ "fuelLevel_State",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnFuelLevelState__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnFuelLevelState__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnFuelLevelState__notification = {
+ "VehicleInfo",
+ "OnFuelLevelState",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnFuelLevelState,
+ VehicleInfo__OnFuelLevelState__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnInstantFuelConsumption__notification__parameter1 = {
+ "instantFuelConsumption",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnInstantFuelConsumption__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnInstantFuelConsumption__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnInstantFuelConsumption__notification = {
+ "VehicleInfo",
+ "OnInstantFuelConsumption",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnInstantFuelConsumption,
+ VehicleInfo__OnInstantFuelConsumption__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnExternalTemperature__notification__parameter1 = {
+ "externalTemperature",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnExternalTemperature__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnExternalTemperature__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnExternalTemperature__notification = {
+ "VehicleInfo",
+ "OnExternalTemperature",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnExternalTemperature,
+ VehicleInfo__OnExternalTemperature__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnVin__notification__parameter1 = {
+ "vin",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnVin__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnVin__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnVin__notification = {
+ "VehicleInfo",
+ "OnVin",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnVin,
+ VehicleInfo__OnVin__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnPrndl__notification__parameter1 = {
+ "prndl",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnPrndl__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnPrndl__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnPrndl__notification = {
+ "VehicleInfo",
+ "OnPrndl",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnPrndl,
+ VehicleInfo__OnPrndl__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnTirePressure__notification__parameter1 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__TireStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnTirePressure__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnTirePressure__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnTirePressure__notification = {
+ "VehicleInfo",
+ "OnTirePressure",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnTirePressure,
+ VehicleInfo__OnTirePressure__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnOdometer__notification__parameter1 = {
+ "odometer",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnOdometer__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnOdometer__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnOdometer__notification = {
+ "VehicleInfo",
+ "OnOdometer",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnOdometer,
+ VehicleInfo__OnOdometer__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnBeltStatus__notification__parameter1 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__BeltStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnBeltStatus__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnBeltStatus__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnBeltStatus__notification = {
+ "VehicleInfo",
+ "OnBeltStatus",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnBeltStatus,
+ VehicleInfo__OnBeltStatus__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnBodyInformation__notification__parameter1 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__BodyInformation__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnBodyInformation__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnBodyInformation__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnBodyInformation__notification = {
+ "VehicleInfo",
+ "OnBodyInformation",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnBodyInformation,
+ VehicleInfo__OnBodyInformation__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnDeviceStatus__notification__parameter1 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DeviceStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnDeviceStatus__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnDeviceStatus__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnDeviceStatus__notification = {
+ "VehicleInfo",
+ "OnDeviceStatus",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnDeviceStatus,
+ VehicleInfo__OnDeviceStatus__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnDriverBraking__notification__parameter1 = {
+ "driverBraking",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnDriverBraking__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnDriverBraking__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnDriverBraking__notification = {
+ "VehicleInfo",
+ "OnDriverBraking",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnDriverBraking,
+ VehicleInfo__OnDriverBraking__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnWiperStatus__notification__parameter1 = {
+ "wiperStatus",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnWiperStatus__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnWiperStatus__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnWiperStatus__notification = {
+ "VehicleInfo",
+ "OnWiperStatus",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnWiperStatus,
+ VehicleInfo__OnWiperStatus__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnHeadLampStatus__notification__parameter1 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__HeadLampStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnHeadLampStatus__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnHeadLampStatus__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnHeadLampStatus__notification = {
+ "VehicleInfo",
+ "OnHeadLampStatus",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnHeadLampStatus,
+ VehicleInfo__OnHeadLampStatus__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnEngineTorque__notification__parameter1 = {
+ "engineTorque",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnEngineTorque__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnEngineTorque__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnEngineTorque__notification = {
+ "VehicleInfo",
+ "OnEngineTorque",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnEngineTorque,
+ VehicleInfo__OnEngineTorque__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnAccPedalPosition__notification__parameter1 = {
+ "accPedalPosition",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnAccPedalPosition__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnAccPedalPosition__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnAccPedalPosition__notification = {
+ "VehicleInfo",
+ "OnAccPedalPosition",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnAccPedalPosition,
+ VehicleInfo__OnAccPedalPosition__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__OnSteeringWheelAngle__notification__parameter1 = {
+ "steeringWheelAngle",
+ ford_message_descriptions::Float,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnSteeringWheelAngle__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnSteeringWheelAngle__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnSteeringWheelAngle__notification = {
+ "VehicleInfo",
+ "OnSteeringWheelAngle",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnSteeringWheelAngle,
+ VehicleInfo__OnSteeringWheelAngle__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnECallInfo__notification__parameter1 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ECallInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnECallInfo__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnECallInfo__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnECallInfo__notification = {
+ "VehicleInfo",
+ "OnECallInfo",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnECallInfo,
+ VehicleInfo__OnECallInfo__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnAirbagStatus__notification__parameter1 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__AirbagStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnAirbagStatus__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnAirbagStatus__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnAirbagStatus__notification = {
+ "VehicleInfo",
+ "OnAirbagStatus",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnAirbagStatus,
+ VehicleInfo__OnAirbagStatus__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnEmergencyEvent__notification__parameter1 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__EmergencyEvent__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnEmergencyEvent__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnEmergencyEvent__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnEmergencyEvent__notification = {
+ "VehicleInfo",
+ "OnEmergencyEvent",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnEmergencyEvent,
+ VehicleInfo__OnEmergencyEvent__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnClusterModeStatus__notification__parameter1 = {
+ {
+ "clusterModeStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ClusterModeStatus__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnClusterModeStatus__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnClusterModeStatus__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnClusterModeStatus__notification = {
+ "VehicleInfo",
+ "OnClusterModeStatus",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnClusterModeStatus,
+ VehicleInfo__OnClusterModeStatus__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__OnMyKey__notification__parameter1 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__MyKey__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__OnMyKey__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__OnMyKey__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__OnMyKey__notification = {
+ "VehicleInfo",
+ "OnMyKey",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::VehicleInfo_OnMyKey,
+ VehicleInfo__OnMyKey__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeGps__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeGps__request = {
+ "VehicleInfo",
+ "SubscribeGps",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeGps,
+ VehicleInfo__SubscribeGps__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeGps__response__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeGps__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeGps__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeGps__response = {
+ "VehicleInfo",
+ "SubscribeGps",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeGps,
+ VehicleInfo__SubscribeGps__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeGps__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeGps__request = {
+ "VehicleInfo",
+ "UnsubscribeGps",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeGps,
+ VehicleInfo__UnsubscribeGps__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeGps__response__parameter1 = {
+ {
+ "gps",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeGps__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeGps__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeGps__response = {
+ "VehicleInfo",
+ "UnsubscribeGps",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeGps,
+ VehicleInfo__UnsubscribeGps__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeSpeed__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeSpeed__request = {
+ "VehicleInfo",
+ "SubscribeSpeed",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeSpeed,
+ VehicleInfo__SubscribeSpeed__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeSpeed__response__parameter1 = {
+ {
+ "speed",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeSpeed__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeSpeed__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeSpeed__response = {
+ "VehicleInfo",
+ "SubscribeSpeed",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeSpeed,
+ VehicleInfo__SubscribeSpeed__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeSpeed__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeSpeed__request = {
+ "VehicleInfo",
+ "UnsubscribeSpeed",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeSpeed,
+ VehicleInfo__UnsubscribeSpeed__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeSpeed__response__parameter1 = {
+ {
+ "speed",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeSpeed__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeSpeed__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeSpeed__response = {
+ "VehicleInfo",
+ "UnsubscribeSpeed",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeSpeed,
+ VehicleInfo__UnsubscribeSpeed__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeRpm__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeRpm__request = {
+ "VehicleInfo",
+ "SubscribeRpm",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeRpm,
+ VehicleInfo__SubscribeRpm__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeRpm__response__parameter1 = {
+ {
+ "rpm",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeRpm__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeRpm__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeRpm__response = {
+ "VehicleInfo",
+ "SubscribeRpm",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeRpm,
+ VehicleInfo__SubscribeRpm__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeRpm__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeRpm__request = {
+ "VehicleInfo",
+ "UnsubscribeRpm",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeRpm,
+ VehicleInfo__UnsubscribeRpm__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeRpm__response__parameter1 = {
+ {
+ "rpm",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeRpm__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeRpm__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeRpm__response = {
+ "VehicleInfo",
+ "UnsubscribeRpm",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeRpm,
+ VehicleInfo__UnsubscribeRpm__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeFuelLevel__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeFuelLevel__request = {
+ "VehicleInfo",
+ "SubscribeFuelLevel",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel,
+ VehicleInfo__SubscribeFuelLevel__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeFuelLevel__response__parameter1 = {
+ {
+ "fuelLevel",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeFuelLevel__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeFuelLevel__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeFuelLevel__response = {
+ "VehicleInfo",
+ "SubscribeFuelLevel",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel,
+ VehicleInfo__SubscribeFuelLevel__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeFuelLevel__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeFuelLevel__request = {
+ "VehicleInfo",
+ "UnsubscribeFuelLevel",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel,
+ VehicleInfo__UnsubscribeFuelLevel__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeFuelLevel__response__parameter1 = {
+ {
+ "fuelLevel",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeFuelLevel__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeFuelLevel__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeFuelLevel__response = {
+ "VehicleInfo",
+ "UnsubscribeFuelLevel",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel,
+ VehicleInfo__UnsubscribeFuelLevel__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeFuelLevel_State__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeFuelLevel_State__request = {
+ "VehicleInfo",
+ "SubscribeFuelLevel_State",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel_State,
+ VehicleInfo__SubscribeFuelLevel_State__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeFuelLevel_State__response__parameter1 = {
+ {
+ "fuelLevel_State",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeFuelLevel_State__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeFuelLevel_State__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeFuelLevel_State__response = {
+ "VehicleInfo",
+ "SubscribeFuelLevel_State",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel_State,
+ VehicleInfo__SubscribeFuelLevel_State__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeFuelLevel_State__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeFuelLevel_State__request = {
+ "VehicleInfo",
+ "UnsubscribeFuelLevel_State",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel_State,
+ VehicleInfo__UnsubscribeFuelLevel_State__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeFuelLevel_State__response__parameter1 = {
+ {
+ "fuelLevel_State",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeFuelLevel_State__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeFuelLevel_State__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeFuelLevel_State__response = {
+ "VehicleInfo",
+ "UnsubscribeFuelLevel_State",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel_State,
+ VehicleInfo__UnsubscribeFuelLevel_State__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeInstantFuelConsumption__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeInstantFuelConsumption__request = {
+ "VehicleInfo",
+ "SubscribeInstantFuelConsumption",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeInstantFuelConsumption,
+ VehicleInfo__SubscribeInstantFuelConsumption__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeInstantFuelConsumption__response__parameter1 = {
+ {
+ "instantFuelConsumption",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeInstantFuelConsumption__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeInstantFuelConsumption__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeInstantFuelConsumption__response = {
+ "VehicleInfo",
+ "SubscribeInstantFuelConsumption",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeInstantFuelConsumption,
+ VehicleInfo__SubscribeInstantFuelConsumption__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeInstantFuelConsumption__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeInstantFuelConsumption__request = {
+ "VehicleInfo",
+ "UnsubscribeInstantFuelConsumption",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeInstantFuelConsumption,
+ VehicleInfo__UnsubscribeInstantFuelConsumption__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeInstantFuelConsumption__response__parameter1 = {
+ {
+ "instantFuelConsumption",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeInstantFuelConsumption__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeInstantFuelConsumption__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeInstantFuelConsumption__response = {
+ "VehicleInfo",
+ "UnsubscribeInstantFuelConsumption",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeInstantFuelConsumption,
+ VehicleInfo__UnsubscribeInstantFuelConsumption__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeExternalTemperature__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeExternalTemperature__request = {
+ "VehicleInfo",
+ "SubscribeExternalTemperature",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeExternalTemperature,
+ VehicleInfo__SubscribeExternalTemperature__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeExternalTemperature__response__parameter1 = {
+ {
+ "externalTemperature",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeExternalTemperature__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeExternalTemperature__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeExternalTemperature__response = {
+ "VehicleInfo",
+ "SubscribeExternalTemperature",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeExternalTemperature,
+ VehicleInfo__SubscribeExternalTemperature__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeExternalTemperature__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeExternalTemperature__request = {
+ "VehicleInfo",
+ "UnsubscribeExternalTemperature",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeExternalTemperature,
+ VehicleInfo__UnsubscribeExternalTemperature__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeExternalTemperature__response__parameter1 = {
+ {
+ "externalTemperature",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeExternalTemperature__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeExternalTemperature__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeExternalTemperature__response = {
+ "VehicleInfo",
+ "UnsubscribeExternalTemperature",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeExternalTemperature,
+ VehicleInfo__UnsubscribeExternalTemperature__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribePrndl__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribePrndl__request = {
+ "VehicleInfo",
+ "SubscribePrndl",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribePrndl,
+ VehicleInfo__SubscribePrndl__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribePrndl__response__parameter1 = {
+ {
+ "prndl",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribePrndl__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribePrndl__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribePrndl__response = {
+ "VehicleInfo",
+ "SubscribePrndl",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribePrndl,
+ VehicleInfo__SubscribePrndl__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribePrndl__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribePrndl__request = {
+ "VehicleInfo",
+ "UnsubscribePrndl",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribePrndl,
+ VehicleInfo__UnsubscribePrndl__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribePrndl__response__parameter1 = {
+ {
+ "prndl",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribePrndl__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribePrndl__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribePrndl__response = {
+ "VehicleInfo",
+ "UnsubscribePrndl",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribePrndl,
+ VehicleInfo__UnsubscribePrndl__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeVin__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeVin__request = {
+ "VehicleInfo",
+ "SubscribeVin",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeVin,
+ VehicleInfo__SubscribeVin__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__SubscribeVin__response__parameter1 = {
+ "vin",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeVin__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeVin__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeVin__response = {
+ "VehicleInfo",
+ "SubscribeVin",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeVin,
+ VehicleInfo__SubscribeVin__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeVin__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeVin__request = {
+ "VehicleInfo",
+ "UnsubscribeVin",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeVin,
+ VehicleInfo__UnsubscribeVin__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription VehicleInfo__UnsubscribeVin__response__parameter1 = {
+ "vin",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeVin__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeVin__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeVin__response = {
+ "VehicleInfo",
+ "UnsubscribeVin",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeVin,
+ VehicleInfo__UnsubscribeVin__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeTirePressure__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeTirePressure__request = {
+ "VehicleInfo",
+ "SubscribeTirePressure",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeTirePressure,
+ VehicleInfo__SubscribeTirePressure__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeTirePressure__response__parameter1 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeTirePressure__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeTirePressure__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeTirePressure__response = {
+ "VehicleInfo",
+ "SubscribeTirePressure",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeTirePressure,
+ VehicleInfo__SubscribeTirePressure__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeTirePressure__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeTirePressure__request = {
+ "VehicleInfo",
+ "UnsubscribeTirePressure",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeTirePressure,
+ VehicleInfo__UnsubscribeTirePressure__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeTirePressure__response__parameter1 = {
+ {
+ "tirePressure",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeTirePressure__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeTirePressure__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeTirePressure__response = {
+ "VehicleInfo",
+ "UnsubscribeTirePressure",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeTirePressure,
+ VehicleInfo__UnsubscribeTirePressure__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeOdometer__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeOdometer__request = {
+ "VehicleInfo",
+ "SubscribeOdometer",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeOdometer,
+ VehicleInfo__SubscribeOdometer__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeOdometer__response__parameter1 = {
+ {
+ "odometer",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeOdometer__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeOdometer__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeOdometer__response = {
+ "VehicleInfo",
+ "SubscribeOdometer",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeOdometer,
+ VehicleInfo__SubscribeOdometer__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeOdometer__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeOdometer__request = {
+ "VehicleInfo",
+ "UnsubscribeOdometer",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeOdometer,
+ VehicleInfo__UnsubscribeOdometer__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeOdometer__response__parameter1 = {
+ {
+ "odometer",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeOdometer__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeOdometer__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeOdometer__response = {
+ "VehicleInfo",
+ "UnsubscribeOdometer",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeOdometer,
+ VehicleInfo__UnsubscribeOdometer__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeBeltStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeBeltStatus__request = {
+ "VehicleInfo",
+ "SubscribeBeltStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeBeltStatus,
+ VehicleInfo__SubscribeBeltStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeBeltStatus__response__parameter1 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeBeltStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeBeltStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeBeltStatus__response = {
+ "VehicleInfo",
+ "SubscribeBeltStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeBeltStatus,
+ VehicleInfo__SubscribeBeltStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeBeltStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeBeltStatus__request = {
+ "VehicleInfo",
+ "UnsubscribeBeltStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeBeltStatus,
+ VehicleInfo__UnsubscribeBeltStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeBeltStatus__response__parameter1 = {
+ {
+ "beltStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeBeltStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeBeltStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeBeltStatus__response = {
+ "VehicleInfo",
+ "UnsubscribeBeltStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeBeltStatus,
+ VehicleInfo__UnsubscribeBeltStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeBodyInformation__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeBodyInformation__request = {
+ "VehicleInfo",
+ "SubscribeBodyInformation",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeBodyInformation,
+ VehicleInfo__SubscribeBodyInformation__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeBodyInformation__response__parameter1 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeBodyInformation__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeBodyInformation__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeBodyInformation__response = {
+ "VehicleInfo",
+ "SubscribeBodyInformation",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeBodyInformation,
+ VehicleInfo__SubscribeBodyInformation__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeBodyInformation__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeBodyInformation__request = {
+ "VehicleInfo",
+ "UnsubscribeBodyInformation",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeBodyInformation,
+ VehicleInfo__UnsubscribeBodyInformation__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeBodyInformation__response__parameter1 = {
+ {
+ "bodyInformation",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeBodyInformation__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeBodyInformation__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeBodyInformation__response = {
+ "VehicleInfo",
+ "UnsubscribeBodyInformation",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeBodyInformation,
+ VehicleInfo__UnsubscribeBodyInformation__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeDeviceStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeDeviceStatus__request = {
+ "VehicleInfo",
+ "SubscribeDeviceStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeDeviceStatus,
+ VehicleInfo__SubscribeDeviceStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeDeviceStatus__response__parameter1 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeDeviceStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeDeviceStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeDeviceStatus__response = {
+ "VehicleInfo",
+ "SubscribeDeviceStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeDeviceStatus,
+ VehicleInfo__SubscribeDeviceStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeDeviceStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeDeviceStatus__request = {
+ "VehicleInfo",
+ "UnsubscribeDeviceStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeDeviceStatus,
+ VehicleInfo__UnsubscribeDeviceStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeDeviceStatus__response__parameter1 = {
+ {
+ "deviceStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeDeviceStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeDeviceStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeDeviceStatus__response = {
+ "VehicleInfo",
+ "UnsubscribeDeviceStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeDeviceStatus,
+ VehicleInfo__UnsubscribeDeviceStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeDriverBraking__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeDriverBraking__request = {
+ "VehicleInfo",
+ "SubscribeDriverBraking",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeDriverBraking,
+ VehicleInfo__SubscribeDriverBraking__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeDriverBraking__response__parameter1 = {
+ {
+ "driverBraking",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeDriverBraking__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeDriverBraking__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeDriverBraking__response = {
+ "VehicleInfo",
+ "SubscribeDriverBraking",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeDriverBraking,
+ VehicleInfo__SubscribeDriverBraking__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeDriverBraking__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeDriverBraking__request = {
+ "VehicleInfo",
+ "UnsubscribeDriverBraking",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeDriverBraking,
+ VehicleInfo__UnsubscribeDriverBraking__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeDriverBraking__response__parameter1 = {
+ {
+ "driverBraking",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeDriverBraking__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeDriverBraking__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeDriverBraking__response = {
+ "VehicleInfo",
+ "UnsubscribeDriverBraking",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeDriverBraking,
+ VehicleInfo__UnsubscribeDriverBraking__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeWiperStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeWiperStatus__request = {
+ "VehicleInfo",
+ "SubscribeWiperStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeWiperStatus,
+ VehicleInfo__SubscribeWiperStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeWiperStatus__response__parameter1 = {
+ {
+ "wiperStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeWiperStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeWiperStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeWiperStatus__response = {
+ "VehicleInfo",
+ "SubscribeWiperStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeWiperStatus,
+ VehicleInfo__SubscribeWiperStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeWiperStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeWiperStatus__request = {
+ "VehicleInfo",
+ "UnsubscribeWiperStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeWiperStatus,
+ VehicleInfo__UnsubscribeWiperStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeWiperStatus__response__parameter1 = {
+ {
+ "wiperStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeWiperStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeWiperStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeWiperStatus__response = {
+ "VehicleInfo",
+ "UnsubscribeWiperStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeWiperStatus,
+ VehicleInfo__UnsubscribeWiperStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeHeadLampStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeHeadLampStatus__request = {
+ "VehicleInfo",
+ "SubscribeHeadLampStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeHeadLampStatus,
+ VehicleInfo__SubscribeHeadLampStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeHeadLampStatus__response__parameter1 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeHeadLampStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeHeadLampStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeHeadLampStatus__response = {
+ "VehicleInfo",
+ "SubscribeHeadLampStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeHeadLampStatus,
+ VehicleInfo__SubscribeHeadLampStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeHeadLampStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeHeadLampStatus__request = {
+ "VehicleInfo",
+ "UnsubscribeHeadLampStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeHeadLampStatus,
+ VehicleInfo__UnsubscribeHeadLampStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeHeadLampStatus__response__parameter1 = {
+ {
+ "headLampStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeHeadLampStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeHeadLampStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeHeadLampStatus__response = {
+ "VehicleInfo",
+ "UnsubscribeHeadLampStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeHeadLampStatus,
+ VehicleInfo__UnsubscribeHeadLampStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeEngineTorque__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeEngineTorque__request = {
+ "VehicleInfo",
+ "SubscribeEngineTorque",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeEngineTorque,
+ VehicleInfo__SubscribeEngineTorque__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeEngineTorque__response__parameter1 = {
+ {
+ "engineTorque",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeEngineTorque__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeEngineTorque__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeEngineTorque__response = {
+ "VehicleInfo",
+ "SubscribeEngineTorque",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeEngineTorque,
+ VehicleInfo__SubscribeEngineTorque__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeEngineTorque__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeEngineTorque__request = {
+ "VehicleInfo",
+ "UnsubscribeEngineTorque",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeEngineTorque,
+ VehicleInfo__UnsubscribeEngineTorque__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeEngineTorque__response__parameter1 = {
+ {
+ "engineTorque",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeEngineTorque__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeEngineTorque__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeEngineTorque__response = {
+ "VehicleInfo",
+ "UnsubscribeEngineTorque",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeEngineTorque,
+ VehicleInfo__UnsubscribeEngineTorque__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeAccPedalPosition__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeAccPedalPosition__request = {
+ "VehicleInfo",
+ "SubscribeAccPedalPosition",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeAccPedalPosition,
+ VehicleInfo__SubscribeAccPedalPosition__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeAccPedalPosition__response__parameter1 = {
+ {
+ "accPedalPosition",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeAccPedalPosition__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeAccPedalPosition__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeAccPedalPosition__response = {
+ "VehicleInfo",
+ "SubscribeAccPedalPosition",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeAccPedalPosition,
+ VehicleInfo__SubscribeAccPedalPosition__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeAccPedalPosition__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeAccPedalPosition__request = {
+ "VehicleInfo",
+ "UnsubscribeAccPedalPosition",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeAccPedalPosition,
+ VehicleInfo__UnsubscribeAccPedalPosition__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeAccPedalPosition__response__parameter1 = {
+ {
+ "accPedalPosition",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeAccPedalPosition__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeAccPedalPosition__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeAccPedalPosition__response = {
+ "VehicleInfo",
+ "UnsubscribeAccPedalPosition",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeAccPedalPosition,
+ VehicleInfo__UnsubscribeAccPedalPosition__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeSteeringWheelAngle__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeSteeringWheelAngle__request = {
+ "VehicleInfo",
+ "SubscribeSteeringWheelAngle",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeSteeringWheelAngle,
+ VehicleInfo__SubscribeSteeringWheelAngle__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeSteeringWheelAngle__response__parameter1 = {
+ {
+ "steeringWheelAngle",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeSteeringWheelAngle__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeSteeringWheelAngle__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeSteeringWheelAngle__response = {
+ "VehicleInfo",
+ "SubscribeSteeringWheelAngle",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeSteeringWheelAngle,
+ VehicleInfo__SubscribeSteeringWheelAngle__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeSteeringWheelAngle__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeSteeringWheelAngle__request = {
+ "VehicleInfo",
+ "UnsubscribeSteeringWheelAngle",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeSteeringWheelAngle,
+ VehicleInfo__UnsubscribeSteeringWheelAngle__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeSteeringWheelAngle__response__parameter1 = {
+ {
+ "steeringWheelAngle",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeSteeringWheelAngle__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeSteeringWheelAngle__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeSteeringWheelAngle__response = {
+ "VehicleInfo",
+ "UnsubscribeSteeringWheelAngle",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeSteeringWheelAngle,
+ VehicleInfo__UnsubscribeSteeringWheelAngle__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeECallInfo__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeECallInfo__request = {
+ "VehicleInfo",
+ "SubscribeECallInfo",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeECallInfo,
+ VehicleInfo__SubscribeECallInfo__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeECallInfo__response__parameter1 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeECallInfo__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeECallInfo__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeECallInfo__response = {
+ "VehicleInfo",
+ "SubscribeECallInfo",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeECallInfo,
+ VehicleInfo__SubscribeECallInfo__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeECallInfo__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeECallInfo__request = {
+ "VehicleInfo",
+ "UnsubscribeECallInfo",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeECallInfo,
+ VehicleInfo__UnsubscribeECallInfo__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeECallInfo__response__parameter1 = {
+ {
+ "eCallInfo",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeECallInfo__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeECallInfo__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeECallInfo__response = {
+ "VehicleInfo",
+ "UnsubscribeECallInfo",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeECallInfo,
+ VehicleInfo__UnsubscribeECallInfo__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeAirbagStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeAirbagStatus__request = {
+ "VehicleInfo",
+ "SubscribeAirbagStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeAirbagStatus,
+ VehicleInfo__SubscribeAirbagStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeAirbagStatus__response__parameter1 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeAirbagStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeAirbagStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeAirbagStatus__response = {
+ "VehicleInfo",
+ "SubscribeAirbagStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeAirbagStatus,
+ VehicleInfo__SubscribeAirbagStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeAirbagStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeAirbagStatus__request = {
+ "VehicleInfo",
+ "UnsubscribeAirbagStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeAirbagStatus,
+ VehicleInfo__UnsubscribeAirbagStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeAirbagStatus__response__parameter1 = {
+ {
+ "airbagStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeAirbagStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeAirbagStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeAirbagStatus__response = {
+ "VehicleInfo",
+ "UnsubscribeAirbagStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeAirbagStatus,
+ VehicleInfo__UnsubscribeAirbagStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeEmergencyEvent__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeEmergencyEvent__request = {
+ "VehicleInfo",
+ "SubscribeEmergencyEvent",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeEmergencyEvent,
+ VehicleInfo__SubscribeEmergencyEvent__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeEmergencyEvent__response__parameter1 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeEmergencyEvent__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeEmergencyEvent__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeEmergencyEvent__response = {
+ "VehicleInfo",
+ "SubscribeEmergencyEvent",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeEmergencyEvent,
+ VehicleInfo__SubscribeEmergencyEvent__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeEmergencyEvent__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeEmergencyEvent__request = {
+ "VehicleInfo",
+ "UnsubscribeEmergencyEvent",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeEmergencyEvent,
+ VehicleInfo__UnsubscribeEmergencyEvent__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeEmergencyEvent__response__parameter1 = {
+ {
+ "emergencyEvent",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeEmergencyEvent__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeEmergencyEvent__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeEmergencyEvent__response = {
+ "VehicleInfo",
+ "UnsubscribeEmergencyEvent",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeEmergencyEvent,
+ VehicleInfo__UnsubscribeEmergencyEvent__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeClusterModeStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeClusterModeStatus__request = {
+ "VehicleInfo",
+ "SubscribeClusterModeStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeClusterModeStatus,
+ VehicleInfo__SubscribeClusterModeStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeClusterModeStatus__response__parameter1 = {
+ {
+ "clusterModeStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeClusterModeStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeClusterModeStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeClusterModeStatus__response = {
+ "VehicleInfo",
+ "SubscribeClusterModeStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeClusterModeStatus,
+ VehicleInfo__SubscribeClusterModeStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeClusterModeStatus__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeClusterModeStatus__request = {
+ "VehicleInfo",
+ "UnsubscribeClusterModeStatus",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeClusterModeStatus,
+ VehicleInfo__UnsubscribeClusterModeStatus__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeClusterModeStatus__response__parameter1 = {
+ {
+ "clusterModeStatus",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeClusterModeStatus__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeClusterModeStatus__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeClusterModeStatus__response = {
+ "VehicleInfo",
+ "UnsubscribeClusterModeStatus",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeClusterModeStatus,
+ VehicleInfo__UnsubscribeClusterModeStatus__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeMyKey__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeMyKey__request = {
+ "VehicleInfo",
+ "SubscribeMyKey",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeMyKey,
+ VehicleInfo__SubscribeMyKey__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__SubscribeMyKey__response__parameter1 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__SubscribeMyKey__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__SubscribeMyKey__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__SubscribeMyKey__response = {
+ "VehicleInfo",
+ "SubscribeMyKey",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_SubscribeMyKey,
+ VehicleInfo__SubscribeMyKey__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeMyKey__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeMyKey__request = {
+ "VehicleInfo",
+ "UnsubscribeMyKey",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeMyKey,
+ VehicleInfo__UnsubscribeMyKey__request__parameters
+};
+
+const ford_message_descriptions::StructDescription VehicleInfo__UnsubscribeMyKey__response__parameter1 = {
+ {
+ "myKey",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__VehicleDataResult__parameters
+};
+const ford_message_descriptions::ParameterDescription* VehicleInfo__UnsubscribeMyKey__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&VehicleInfo__UnsubscribeMyKey__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription VehicleInfo__UnsubscribeMyKey__response = {
+ "VehicleInfo",
+ "UnsubscribeMyKey",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::VehicleInfo_UnsubscribeMyKey,
+ VehicleInfo__UnsubscribeMyKey__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__ActivateApp__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__ActivateApp__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__ActivateApp__request = {
+ "SDL",
+ "ActivateApp",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::SDL_ActivateApp,
+ SDL__ActivateApp__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__ActivateApp__response__parameter1 = {
+ "isSDLAllowed",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::StructDescription SDL__ActivateApp__response__parameter2 = {
+ {
+ "device",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription SDL__ActivateApp__response__parameter3 = {
+ "isPermissionsConsentNeeded",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription SDL__ActivateApp__response__parameter4 = {
+ "isAppPermissionsRevoked",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::StructDescription SDL__ActivateApp__response__parameter5_array = {
+ {
+ "appRevokedPermissions",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__PermissionItem__parameters
+};
+const ford_message_descriptions::ArrayDescription SDL__ActivateApp__response__parameter5 = {
+ {
+ "appRevokedPermissions",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter5_array,
+ "(si(bb))"
+};
+const ford_message_descriptions::ParameterDescription SDL__ActivateApp__response__parameter6 = {
+ "isAppRevoked",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription SDL__ActivateApp__response__parameter7 = {
+ "priority",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* SDL__ActivateApp__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__ActivateApp__response__parameter7,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__ActivateApp__response = {
+ "SDL",
+ "ActivateApp",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::SDL_ActivateApp,
+ SDL__ActivateApp__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__GetUserFriendlyMessage__request__parameter1_array = {
+ "messageCodes",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ArrayDescription SDL__GetUserFriendlyMessage__request__parameter1 = {
+ {
+ "messageCodes",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetUserFriendlyMessage__request__parameter1_array,
+ "s"
+};
+const ford_message_descriptions::ParameterDescription SDL__GetUserFriendlyMessage__request__parameter2 = {
+ "language",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* SDL__GetUserFriendlyMessage__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetUserFriendlyMessage__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetUserFriendlyMessage__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetUserFriendlyMessage__request = {
+ "SDL",
+ "GetUserFriendlyMessage",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::SDL_GetUserFriendlyMessage,
+ SDL__GetUserFriendlyMessage__request__parameters
+};
+
+const ford_message_descriptions::StructDescription SDL__GetUserFriendlyMessage__response__parameter1_array = {
+ {
+ "messages",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__UserFriendlyMessage__parameters
+};
+const ford_message_descriptions::ArrayDescription SDL__GetUserFriendlyMessage__response__parameter1 = {
+ {
+ "messages",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetUserFriendlyMessage__response__parameter1_array,
+ "(s(bs)(bs)(bs)(bs)(bs))"
+};
+const ford_message_descriptions::ParameterDescription* SDL__GetUserFriendlyMessage__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetUserFriendlyMessage__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetUserFriendlyMessage__response = {
+ "SDL",
+ "GetUserFriendlyMessage",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::SDL_GetUserFriendlyMessage,
+ SDL__GetUserFriendlyMessage__response__parameters
+};
+
+const ford_message_descriptions::StructDescription SDL__OnAllowSDLFunctionality__notification__parameter1 = {
+ {
+ "device",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAllowSDLFunctionality__notification__parameter2 = {
+ "allowed",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAllowSDLFunctionality__notification__parameter3 = {
+ "source",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnAllowSDLFunctionality__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAllowSDLFunctionality__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAllowSDLFunctionality__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAllowSDLFunctionality__notification__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnAllowSDLFunctionality__notification = {
+ "SDL",
+ "OnAllowSDLFunctionality",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnAllowSDLFunctionality,
+ SDL__OnAllowSDLFunctionality__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__OnReceivedPolicyUpdate__notification__parameter1 = {
+ "policyfile",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnReceivedPolicyUpdate__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnReceivedPolicyUpdate__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnReceivedPolicyUpdate__notification = {
+ "SDL",
+ "OnReceivedPolicyUpdate",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnReceivedPolicyUpdate,
+ SDL__OnReceivedPolicyUpdate__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* SDL__OnPolicyUpdate__notification__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnPolicyUpdate__notification = {
+ "SDL",
+ "OnPolicyUpdate",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnPolicyUpdate,
+ SDL__OnPolicyUpdate__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__GetListOfPermissions__request__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::ParameterDescription* SDL__GetListOfPermissions__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetListOfPermissions__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetListOfPermissions__request = {
+ "SDL",
+ "GetListOfPermissions",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::SDL_GetListOfPermissions,
+ SDL__GetListOfPermissions__request__parameters
+};
+
+const ford_message_descriptions::StructDescription SDL__GetListOfPermissions__response__parameter1_array = {
+ {
+ "allowedFunctions",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__PermissionItem__parameters
+};
+const ford_message_descriptions::ArrayDescription SDL__GetListOfPermissions__response__parameter1 = {
+ {
+ "allowedFunctions",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetListOfPermissions__response__parameter1_array,
+ "(si(bb))"
+};
+const ford_message_descriptions::ParameterDescription* SDL__GetListOfPermissions__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetListOfPermissions__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetListOfPermissions__response = {
+ "SDL",
+ "GetListOfPermissions",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::SDL_GetListOfPermissions,
+ SDL__GetListOfPermissions__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionConsent__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ false
+};
+const ford_message_descriptions::StructDescription SDL__OnAppPermissionConsent__notification__parameter2_array = {
+ {
+ "consentedFunctions",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__PermissionItem__parameters
+};
+const ford_message_descriptions::ArrayDescription SDL__OnAppPermissionConsent__notification__parameter2 = {
+ {
+ "consentedFunctions",
+ ford_message_descriptions::Array,
+ true
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionConsent__notification__parameter2_array,
+ "(si(bb))"
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionConsent__notification__parameter3 = {
+ "source",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnAppPermissionConsent__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionConsent__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionConsent__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionConsent__notification__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnAppPermissionConsent__notification = {
+ "SDL",
+ "OnAppPermissionConsent",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnAppPermissionConsent,
+ SDL__OnAppPermissionConsent__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionChanged__notification__parameter1 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionChanged__notification__parameter2 = {
+ "isAppPermissionsRevoked",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::StructDescription SDL__OnAppPermissionChanged__notification__parameter3_array = {
+ {
+ "appRevokedPermissions",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__PermissionItem__parameters
+};
+const ford_message_descriptions::ArrayDescription SDL__OnAppPermissionChanged__notification__parameter3 = {
+ {
+ "appRevokedPermissions",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter3_array,
+ "(si(bb))"
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionChanged__notification__parameter4 = {
+ "appRevoked",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionChanged__notification__parameter5 = {
+ "appPermissionsConsentNeeded",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionChanged__notification__parameter6 = {
+ "appUnauthorized",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionChanged__notification__parameter7 = {
+ "priority",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription SDL__OnAppPermissionChanged__notification__parameter8_array = {
+ "requestType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ArrayDescription SDL__OnAppPermissionChanged__notification__parameter8 = {
+ {
+ "requestType",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter8_array,
+ "i"
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnAppPermissionChanged__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter3,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter4,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter5,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter6,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter7,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnAppPermissionChanged__notification__parameter8,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnAppPermissionChanged__notification = {
+ "SDL",
+ "OnAppPermissionChanged",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnAppPermissionChanged,
+ SDL__OnAppPermissionChanged__notification__parameters
+};
+
+const ford_message_descriptions::StructDescription SDL__OnSDLConsentNeeded__notification__parameter1 = {
+ {
+ "device",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnSDLConsentNeeded__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnSDLConsentNeeded__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnSDLConsentNeeded__notification = {
+ "SDL",
+ "OnSDLConsentNeeded",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnSDLConsentNeeded,
+ SDL__OnSDLConsentNeeded__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* SDL__UpdateSDL__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__UpdateSDL__request = {
+ "SDL",
+ "UpdateSDL",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::SDL_UpdateSDL,
+ SDL__UpdateSDL__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__UpdateSDL__response__parameter1 = {
+ "result",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__UpdateSDL__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__UpdateSDL__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__UpdateSDL__response = {
+ "SDL",
+ "UpdateSDL",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::SDL_UpdateSDL,
+ SDL__UpdateSDL__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* SDL__GetStatusUpdate__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetStatusUpdate__request = {
+ "SDL",
+ "GetStatusUpdate",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::SDL_GetStatusUpdate,
+ SDL__GetStatusUpdate__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__GetStatusUpdate__response__parameter1 = {
+ "status",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__GetStatusUpdate__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetStatusUpdate__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetStatusUpdate__response = {
+ "SDL",
+ "GetStatusUpdate",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::SDL_GetStatusUpdate,
+ SDL__GetStatusUpdate__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__OnStatusUpdate__notification__parameter1 = {
+ "status",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnStatusUpdate__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnStatusUpdate__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnStatusUpdate__notification = {
+ "SDL",
+ "OnStatusUpdate",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnStatusUpdate,
+ SDL__OnStatusUpdate__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__OnSystemError__notification__parameter1 = {
+ "error",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnSystemError__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnSystemError__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnSystemError__notification = {
+ "SDL",
+ "OnSystemError",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnSystemError,
+ SDL__OnSystemError__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__AddStatisticsInfo__notification__parameter1 = {
+ "statisticType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__AddStatisticsInfo__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__AddStatisticsInfo__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__AddStatisticsInfo__notification = {
+ "SDL",
+ "AddStatisticsInfo",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_AddStatisticsInfo,
+ SDL__AddStatisticsInfo__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__GetURLS__request__parameter1 = {
+ "service",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* SDL__GetURLS__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetURLS__request__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetURLS__request = {
+ "SDL",
+ "GetURLS",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::SDL_GetURLS,
+ SDL__GetURLS__request__parameters
+};
+
+const ford_message_descriptions::StructDescription SDL__GetURLS__response__parameter1_array = {
+ {
+ "urls",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ServiceInfo__parameters
+};
+const ford_message_descriptions::ArrayDescription SDL__GetURLS__response__parameter1 = {
+ {
+ "urls",
+ ford_message_descriptions::Array,
+ false
+ },
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetURLS__response__parameter1_array,
+ "(s(bs))"
+};
+const ford_message_descriptions::ParameterDescription* SDL__GetURLS__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__GetURLS__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__GetURLS__response = {
+ "SDL",
+ "GetURLS",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::SDL_GetURLS,
+ SDL__GetURLS__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription SDL__OnDeviceStateChanged__notification__parameter1 = {
+ "deviceState",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription SDL__OnDeviceStateChanged__notification__parameter2 = {
+ "deviceInternalId",
+ ford_message_descriptions::String,
+ true
+};
+const ford_message_descriptions::StructDescription SDL__OnDeviceStateChanged__notification__parameter3 = {
+ {
+ "deviceId",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__DeviceInfo__parameters
+};
+const ford_message_descriptions::ParameterDescription* SDL__OnDeviceStateChanged__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnDeviceStateChanged__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnDeviceStateChanged__notification__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&SDL__OnDeviceStateChanged__notification__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription SDL__OnDeviceStateChanged__notification = {
+ "SDL",
+ "OnDeviceStateChanged",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::SDL_OnDeviceStateChanged,
+ SDL__OnDeviceStateChanged__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* RC__IsReady__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription RC__IsReady__request = {
+ "RC",
+ "IsReady",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::RC_IsReady,
+ RC__IsReady__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription RC__IsReady__response__parameter1 = {
+ "available",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* RC__IsReady__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__IsReady__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__IsReady__response = {
+ "RC",
+ "IsReady",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::RC_IsReady,
+ RC__IsReady__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription* RC__GetCapabilities__request__parameters[] = {
+ NULL };
+const ford_message_descriptions::MessageDescription RC__GetCapabilities__request = {
+ "RC",
+ "GetCapabilities",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::RC_GetCapabilities,
+ RC__GetCapabilities__request__parameters
+};
+
+const ford_message_descriptions::StructDescription RC__GetCapabilities__response__parameter1 = {
+ {
+ "remoteControlCapability",
+ ford_message_descriptions::Struct,
+ false
+ },
+ Structs::Common__RemoteControlCapabilities__parameters
+};
+const ford_message_descriptions::ParameterDescription* RC__GetCapabilities__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetCapabilities__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__GetCapabilities__response = {
+ "RC",
+ "GetCapabilities",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::RC_GetCapabilities,
+ RC__GetCapabilities__response__parameters
+};
+
+const ford_message_descriptions::StructDescription RC__SetInteriorVehicleData__request__parameter1 = {
+ {
+ "moduleData",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ModuleData__parameters
+};
+const ford_message_descriptions::ParameterDescription RC__SetInteriorVehicleData__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* RC__SetInteriorVehicleData__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__SetInteriorVehicleData__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&RC__SetInteriorVehicleData__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__SetInteriorVehicleData__request = {
+ "RC",
+ "SetInteriorVehicleData",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::RC_SetInteriorVehicleData,
+ RC__SetInteriorVehicleData__request__parameters
+};
+
+const ford_message_descriptions::StructDescription RC__SetInteriorVehicleData__response__parameter1 = {
+ {
+ "moduleData",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ModuleData__parameters
+};
+const ford_message_descriptions::ParameterDescription* RC__SetInteriorVehicleData__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__SetInteriorVehicleData__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__SetInteriorVehicleData__response = {
+ "RC",
+ "SetInteriorVehicleData",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::RC_SetInteriorVehicleData,
+ RC__SetInteriorVehicleData__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription RC__GetInteriorVehicleData__request__parameter1 = {
+ "moduleType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription RC__GetInteriorVehicleData__request__parameter2 = {
+ "subscribe",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription RC__GetInteriorVehicleData__request__parameter3 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* RC__GetInteriorVehicleData__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleData__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleData__request__parameter2,
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleData__request__parameter3,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__GetInteriorVehicleData__request = {
+ "RC",
+ "GetInteriorVehicleData",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::RC_GetInteriorVehicleData,
+ RC__GetInteriorVehicleData__request__parameters
+};
+
+const ford_message_descriptions::StructDescription RC__GetInteriorVehicleData__response__parameter1 = {
+ {
+ "moduleData",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ModuleData__parameters
+};
+const ford_message_descriptions::ParameterDescription RC__GetInteriorVehicleData__response__parameter2 = {
+ "isSubscribed",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription* RC__GetInteriorVehicleData__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleData__response__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleData__response__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__GetInteriorVehicleData__response = {
+ "RC",
+ "GetInteriorVehicleData",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::RC_GetInteriorVehicleData,
+ RC__GetInteriorVehicleData__response__parameters
+};
+
+const ford_message_descriptions::ParameterDescription RC__GetInteriorVehicleDataConsent__request__parameter1 = {
+ "moduleType",
+ ford_message_descriptions::Enum,
+ true
+};
+const ford_message_descriptions::ParameterDescription RC__GetInteriorVehicleDataConsent__request__parameter2 = {
+ "appID",
+ ford_message_descriptions::Integer,
+ true
+};
+const ford_message_descriptions::ParameterDescription* RC__GetInteriorVehicleDataConsent__request__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleDataConsent__request__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleDataConsent__request__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__GetInteriorVehicleDataConsent__request = {
+ "RC",
+ "GetInteriorVehicleDataConsent",
+ hmi_apis::messageType::request,
+ hmi_apis::FunctionID::RC_GetInteriorVehicleDataConsent,
+ RC__GetInteriorVehicleDataConsent__request__parameters
+};
+
+const ford_message_descriptions::ParameterDescription RC__GetInteriorVehicleDataConsent__response__parameter1 = {
+ "allowed",
+ ford_message_descriptions::Boolean,
+ true
+};
+const ford_message_descriptions::ParameterDescription* RC__GetInteriorVehicleDataConsent__response__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__GetInteriorVehicleDataConsent__response__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__GetInteriorVehicleDataConsent__response = {
+ "RC",
+ "GetInteriorVehicleDataConsent",
+ hmi_apis::messageType::response,
+ hmi_apis::FunctionID::RC_GetInteriorVehicleDataConsent,
+ RC__GetInteriorVehicleDataConsent__response__parameters
+};
+
+const ford_message_descriptions::StructDescription RC__OnInteriorVehicleData__notification__parameter1 = {
+ {
+ "moduleData",
+ ford_message_descriptions::Struct,
+ true
+ },
+ Structs::Common__ModuleData__parameters
+};
+const ford_message_descriptions::ParameterDescription* RC__OnInteriorVehicleData__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__OnInteriorVehicleData__notification__parameter1,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__OnInteriorVehicleData__notification = {
+ "RC",
+ "OnInteriorVehicleData",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::RC_OnInteriorVehicleData,
+ RC__OnInteriorVehicleData__notification__parameters
+};
+
+const ford_message_descriptions::ParameterDescription RC__OnRemoteControlSettings__notification__parameter1 = {
+ "allowed",
+ ford_message_descriptions::Boolean,
+ false
+};
+const ford_message_descriptions::ParameterDescription RC__OnRemoteControlSettings__notification__parameter2 = {
+ "accessMode",
+ ford_message_descriptions::Enum,
+ false
+};
+const ford_message_descriptions::ParameterDescription* RC__OnRemoteControlSettings__notification__parameters[] = {
+ (const ford_message_descriptions::ParameterDescription*)&RC__OnRemoteControlSettings__notification__parameter1,
+ (const ford_message_descriptions::ParameterDescription*)&RC__OnRemoteControlSettings__notification__parameter2,
+ NULL };
+const ford_message_descriptions::MessageDescription RC__OnRemoteControlSettings__notification = {
+ "RC",
+ "OnRemoteControlSettings",
+ hmi_apis::messageType::notification,
+ hmi_apis::FunctionID::RC_OnRemoteControlSettings,
+ RC__OnRemoteControlSettings__notification__parameters
+};
+
+}
+
+namespace ford_message_descriptions {
+
+const MessageDescription* message_descriptions[] = {
+ &Buttons__GetCapabilities__request,
+ &Buttons__GetCapabilities__response,
+ &Buttons__OnButtonEvent__notification,
+ &Buttons__OnButtonPress__notification,
+ &Buttons__OnButtonSubscription__notification,
+ &BasicCommunication__OnReady__notification,
+ &BasicCommunication__OnStartDeviceDiscovery__notification,
+ &BasicCommunication__OnUpdateDeviceList__notification,
+ &BasicCommunication__OnPhoneCall__notification,
+ &BasicCommunication__OnEmergencyEvent__notification,
+ &BasicCommunication__OnResumeAudioSource__notification,
+ &BasicCommunication__OnSDLPersistenceComplete__notification,
+ &BasicCommunication__UpdateAppList__request,
+ &BasicCommunication__UpdateAppList__response,
+ &BasicCommunication__UpdateDeviceList__request,
+ &BasicCommunication__UpdateDeviceList__response,
+ &BasicCommunication__OnFileRemoved__notification,
+ &BasicCommunication__AllowDeviceToConnect__request,
+ &BasicCommunication__AllowDeviceToConnect__response,
+ &BasicCommunication__OnDeviceChosen__notification,
+ &BasicCommunication__OnFindApplications__notification,
+ &BasicCommunication__ActivateApp__request,
+ &BasicCommunication__ActivateApp__response,
+ &BasicCommunication__OnAppActivated__notification,
+ &BasicCommunication__OnAppDeactivated__notification,
+ &BasicCommunication__OnAppRegistered__notification,
+ &BasicCommunication__OnAppUnregistered__notification,
+ &BasicCommunication__OnExitApplication__notification,
+ &BasicCommunication__OnExitAllApplications__notification,
+ &BasicCommunication__OnAwakeSDL__notification,
+ &BasicCommunication__MixingAudioSupported__request,
+ &BasicCommunication__MixingAudioSupported__response,
+ &BasicCommunication__PlayTone__notification,
+ &BasicCommunication__DialNumber__request,
+ &BasicCommunication__DialNumber__response,
+ &BasicCommunication__OnSystemRequest__notification,
+ &BasicCommunication__SystemRequest__request,
+ &BasicCommunication__SystemRequest__response,
+ &BasicCommunication__PolicyUpdate__request,
+ &BasicCommunication__PolicyUpdate__response,
+ &BasicCommunication__OnSDLClose__notification,
+ &BasicCommunication__OnPutFile__notification,
+ &BasicCommunication__GetSystemInfo__request,
+ &BasicCommunication__GetSystemInfo__response,
+ &BasicCommunication__OnSystemInfoChanged__notification,
+ &BasicCommunication__OnIgnitionCycleOver__notification,
+ &BasicCommunication__DecryptCertificate__request,
+ &BasicCommunication__DecryptCertificate__response,
+ &BasicCommunication__OnEventChanged__notification,
+ &VR__IsReady__request,
+ &VR__IsReady__response,
+ &VR__Started__notification,
+ &VR__Stopped__notification,
+ &VR__AddCommand__request,
+ &VR__AddCommand__response,
+ &VR__DeleteCommand__request,
+ &VR__DeleteCommand__response,
+ &VR__PerformInteraction__request,
+ &VR__PerformInteraction__response,
+ &VR__OnCommand__notification,
+ &VR__ChangeRegistration__request,
+ &VR__ChangeRegistration__response,
+ &VR__OnLanguageChange__notification,
+ &VR__GetSupportedLanguages__request,
+ &VR__GetSupportedLanguages__response,
+ &VR__GetLanguage__request,
+ &VR__GetLanguage__response,
+ &VR__GetCapabilities__request,
+ &VR__GetCapabilities__response,
+ &TTS__GetCapabilities__request,
+ &TTS__GetCapabilities__response,
+ &TTS__Started__notification,
+ &TTS__Stopped__notification,
+ &TTS__IsReady__request,
+ &TTS__IsReady__response,
+ &TTS__Speak__request,
+ &TTS__Speak__response,
+ &TTS__StopSpeaking__request,
+ &TTS__StopSpeaking__response,
+ &TTS__ChangeRegistration__request,
+ &TTS__ChangeRegistration__response,
+ &TTS__OnLanguageChange__notification,
+ &TTS__GetSupportedLanguages__request,
+ &TTS__GetSupportedLanguages__response,
+ &TTS__GetLanguage__request,
+ &TTS__GetLanguage__response,
+ &TTS__SetGlobalProperties__request,
+ &TTS__SetGlobalProperties__response,
+ &TTS__OnResetTimeout__notification,
+ &UI__Alert__request,
+ &UI__Alert__response,
+ &UI__Show__request,
+ &UI__Show__response,
+ &UI__AddCommand__request,
+ &UI__AddCommand__response,
+ &UI__DeleteCommand__request,
+ &UI__DeleteCommand__response,
+ &UI__AddSubMenu__request,
+ &UI__AddSubMenu__response,
+ &UI__DeleteSubMenu__request,
+ &UI__DeleteSubMenu__response,
+ &UI__PerformInteraction__request,
+ &UI__PerformInteraction__response,
+ &UI__SetMediaClockTimer__request,
+ &UI__SetMediaClockTimer__response,
+ &UI__SetGlobalProperties__request,
+ &UI__SetGlobalProperties__response,
+ &UI__OnCommand__notification,
+ &UI__OnSystemContext__notification,
+ &UI__GetCapabilities__request,
+ &UI__GetCapabilities__response,
+ &UI__ChangeRegistration__request,
+ &UI__ChangeRegistration__response,
+ &UI__OnLanguageChange__notification,
+ &UI__GetSupportedLanguages__request,
+ &UI__GetSupportedLanguages__response,
+ &UI__GetLanguage__request,
+ &UI__GetLanguage__response,
+ &UI__OnDriverDistraction__notification,
+ &UI__SetAppIcon__request,
+ &UI__SetAppIcon__response,
+ &UI__SetDisplayLayout__request,
+ &UI__SetDisplayLayout__response,
+ &UI__ShowCustomForm__request,
+ &UI__ShowCustomForm__response,
+ &UI__OnKeyboardInput__notification,
+ &UI__OnTouchEvent__notification,
+ &UI__Slider__request,
+ &UI__Slider__response,
+ &UI__ScrollableMessage__request,
+ &UI__ScrollableMessage__response,
+ &UI__PerformAudioPassThru__request,
+ &UI__PerformAudioPassThru__response,
+ &UI__EndAudioPassThru__request,
+ &UI__EndAudioPassThru__response,
+ &UI__IsReady__request,
+ &UI__IsReady__response,
+ &UI__ClosePopUp__request,
+ &UI__ClosePopUp__response,
+ &UI__OnResetTimeout__notification,
+ &UI__OnRecordStart__notification,
+ &UI__SendHapticData__request,
+ &UI__SendHapticData__response,
+ &Navigation__IsReady__request,
+ &Navigation__IsReady__response,
+ &Navigation__SendLocation__request,
+ &Navigation__SendLocation__response,
+ &Navigation__DialNumber__request,
+ &Navigation__DialNumber__response,
+ &Navigation__ShowConstantTBT__request,
+ &Navigation__ShowConstantTBT__response,
+ &Navigation__AlertManeuver__request,
+ &Navigation__AlertManeuver__response,
+ &Navigation__UpdateTurnList__request,
+ &Navigation__UpdateTurnList__response,
+ &Navigation__OnTBTClientState__notification,
+ &Navigation__SetVideoConfig__request,
+ &Navigation__SetVideoConfig__response,
+ &Navigation__StartStream__request,
+ &Navigation__StartStream__response,
+ &Navigation__StopStream__request,
+ &Navigation__StopStream__response,
+ &Navigation__StartAudioStream__request,
+ &Navigation__StartAudioStream__response,
+ &Navigation__StopAudioStream__request,
+ &Navigation__StopAudioStream__response,
+ &Navigation__OnAudioDataStreaming__notification,
+ &Navigation__OnVideoDataStreaming__notification,
+ &Navigation__GetWayPoints__request,
+ &Navigation__GetWayPoints__response,
+ &Navigation__OnWayPointChange__notification,
+ &Navigation__SubscribeWayPoints__request,
+ &Navigation__SubscribeWayPoints__response,
+ &Navigation__UnsubscribeWayPoints__request,
+ &Navigation__UnsubscribeWayPoints__response,
+ &VehicleInfo__IsReady__request,
+ &VehicleInfo__IsReady__response,
+ &VehicleInfo__GetVehicleType__request,
+ &VehicleInfo__GetVehicleType__response,
+ &VehicleInfo__ReadDID__request,
+ &VehicleInfo__ReadDID__response,
+ &VehicleInfo__GetDTCs__request,
+ &VehicleInfo__GetDTCs__response,
+ &VehicleInfo__DiagnosticMessage__request,
+ &VehicleInfo__DiagnosticMessage__response,
+ &VehicleInfo__SubscribeVehicleData__request,
+ &VehicleInfo__SubscribeVehicleData__response,
+ &VehicleInfo__UnsubscribeVehicleData__request,
+ &VehicleInfo__UnsubscribeVehicleData__response,
+ &VehicleInfo__GetVehicleData__request,
+ &VehicleInfo__GetVehicleData__response,
+ &VehicleInfo__OnVehicleData__notification,
+ &VehicleInfo__GetGpsData__request,
+ &VehicleInfo__GetGpsData__response,
+ &VehicleInfo__GetSpeed__request,
+ &VehicleInfo__GetSpeed__response,
+ &VehicleInfo__GetRpm__request,
+ &VehicleInfo__GetRpm__response,
+ &VehicleInfo__GetFuelLevel__request,
+ &VehicleInfo__GetFuelLevel__response,
+ &VehicleInfo__GetFuelLevelState__request,
+ &VehicleInfo__GetFuelLevelState__response,
+ &VehicleInfo__GetInstantFuelConsumption__request,
+ &VehicleInfo__GetInstantFuelConsumption__response,
+ &VehicleInfo__GetExternalTemperature__request,
+ &VehicleInfo__GetExternalTemperature__response,
+ &VehicleInfo__GetVin__request,
+ &VehicleInfo__GetVin__response,
+ &VehicleInfo__GetPrndl__request,
+ &VehicleInfo__GetPrndl__response,
+ &VehicleInfo__GetTirePressure__request,
+ &VehicleInfo__GetTirePressure__response,
+ &VehicleInfo__GetOdometer__request,
+ &VehicleInfo__GetOdometer__response,
+ &VehicleInfo__GetBeltStatus__request,
+ &VehicleInfo__GetBeltStatus__response,
+ &VehicleInfo__GetBodyInformation__request,
+ &VehicleInfo__GetBodyInformation__response,
+ &VehicleInfo__GetDeviceStatus__request,
+ &VehicleInfo__GetDeviceStatus__response,
+ &VehicleInfo__GetDriverBraking__request,
+ &VehicleInfo__GetDriverBraking__response,
+ &VehicleInfo__GetWiperStatus__request,
+ &VehicleInfo__GetWiperStatus__response,
+ &VehicleInfo__GetHeadLampStatus__request,
+ &VehicleInfo__GetHeadLampStatus__response,
+ &VehicleInfo__GetEngineTorque__request,
+ &VehicleInfo__GetEngineTorque__response,
+ &VehicleInfo__GetAccPedalPosition__request,
+ &VehicleInfo__GetAccPedalPosition__response,
+ &VehicleInfo__GetSteeringWheelAngle__request,
+ &VehicleInfo__GetSteeringWheelAngle__response,
+ &VehicleInfo__GetECallInfo__request,
+ &VehicleInfo__GetECallInfo__response,
+ &VehicleInfo__GetAirbagStatus__request,
+ &VehicleInfo__GetAirbagStatus__response,
+ &VehicleInfo__GetEmergencyEvent__request,
+ &VehicleInfo__GetEmergencyEvent__response,
+ &VehicleInfo__GetClusterModeStatus__request,
+ &VehicleInfo__GetClusterModeStatus__response,
+ &VehicleInfo__GetMyKey__request,
+ &VehicleInfo__GetMyKey__response,
+ &VehicleInfo__OnGpsData__notification,
+ &VehicleInfo__OnSpeed__notification,
+ &VehicleInfo__OnRpm__notification,
+ &VehicleInfo__OnFuelLevel__notification,
+ &VehicleInfo__OnFuelLevelState__notification,
+ &VehicleInfo__OnInstantFuelConsumption__notification,
+ &VehicleInfo__OnExternalTemperature__notification,
+ &VehicleInfo__OnVin__notification,
+ &VehicleInfo__OnPrndl__notification,
+ &VehicleInfo__OnTirePressure__notification,
+ &VehicleInfo__OnOdometer__notification,
+ &VehicleInfo__OnBeltStatus__notification,
+ &VehicleInfo__OnBodyInformation__notification,
+ &VehicleInfo__OnDeviceStatus__notification,
+ &VehicleInfo__OnDriverBraking__notification,
+ &VehicleInfo__OnWiperStatus__notification,
+ &VehicleInfo__OnHeadLampStatus__notification,
+ &VehicleInfo__OnEngineTorque__notification,
+ &VehicleInfo__OnAccPedalPosition__notification,
+ &VehicleInfo__OnSteeringWheelAngle__notification,
+ &VehicleInfo__OnECallInfo__notification,
+ &VehicleInfo__OnAirbagStatus__notification,
+ &VehicleInfo__OnEmergencyEvent__notification,
+ &VehicleInfo__OnClusterModeStatus__notification,
+ &VehicleInfo__OnMyKey__notification,
+ &VehicleInfo__SubscribeGps__request,
+ &VehicleInfo__SubscribeGps__response,
+ &VehicleInfo__UnsubscribeGps__request,
+ &VehicleInfo__UnsubscribeGps__response,
+ &VehicleInfo__SubscribeSpeed__request,
+ &VehicleInfo__SubscribeSpeed__response,
+ &VehicleInfo__UnsubscribeSpeed__request,
+ &VehicleInfo__UnsubscribeSpeed__response,
+ &VehicleInfo__SubscribeRpm__request,
+ &VehicleInfo__SubscribeRpm__response,
+ &VehicleInfo__UnsubscribeRpm__request,
+ &VehicleInfo__UnsubscribeRpm__response,
+ &VehicleInfo__SubscribeFuelLevel__request,
+ &VehicleInfo__SubscribeFuelLevel__response,
+ &VehicleInfo__UnsubscribeFuelLevel__request,
+ &VehicleInfo__UnsubscribeFuelLevel__response,
+ &VehicleInfo__SubscribeFuelLevel_State__request,
+ &VehicleInfo__SubscribeFuelLevel_State__response,
+ &VehicleInfo__UnsubscribeFuelLevel_State__request,
+ &VehicleInfo__UnsubscribeFuelLevel_State__response,
+ &VehicleInfo__SubscribeInstantFuelConsumption__request,
+ &VehicleInfo__SubscribeInstantFuelConsumption__response,
+ &VehicleInfo__UnsubscribeInstantFuelConsumption__request,
+ &VehicleInfo__UnsubscribeInstantFuelConsumption__response,
+ &VehicleInfo__SubscribeExternalTemperature__request,
+ &VehicleInfo__SubscribeExternalTemperature__response,
+ &VehicleInfo__UnsubscribeExternalTemperature__request,
+ &VehicleInfo__UnsubscribeExternalTemperature__response,
+ &VehicleInfo__SubscribePrndl__request,
+ &VehicleInfo__SubscribePrndl__response,
+ &VehicleInfo__UnsubscribePrndl__request,
+ &VehicleInfo__UnsubscribePrndl__response,
+ &VehicleInfo__SubscribeVin__request,
+ &VehicleInfo__SubscribeVin__response,
+ &VehicleInfo__UnsubscribeVin__request,
+ &VehicleInfo__UnsubscribeVin__response,
+ &VehicleInfo__SubscribeTirePressure__request,
+ &VehicleInfo__SubscribeTirePressure__response,
+ &VehicleInfo__UnsubscribeTirePressure__request,
+ &VehicleInfo__UnsubscribeTirePressure__response,
+ &VehicleInfo__SubscribeOdometer__request,
+ &VehicleInfo__SubscribeOdometer__response,
+ &VehicleInfo__UnsubscribeOdometer__request,
+ &VehicleInfo__UnsubscribeOdometer__response,
+ &VehicleInfo__SubscribeBeltStatus__request,
+ &VehicleInfo__SubscribeBeltStatus__response,
+ &VehicleInfo__UnsubscribeBeltStatus__request,
+ &VehicleInfo__UnsubscribeBeltStatus__response,
+ &VehicleInfo__SubscribeBodyInformation__request,
+ &VehicleInfo__SubscribeBodyInformation__response,
+ &VehicleInfo__UnsubscribeBodyInformation__request,
+ &VehicleInfo__UnsubscribeBodyInformation__response,
+ &VehicleInfo__SubscribeDeviceStatus__request,
+ &VehicleInfo__SubscribeDeviceStatus__response,
+ &VehicleInfo__UnsubscribeDeviceStatus__request,
+ &VehicleInfo__UnsubscribeDeviceStatus__response,
+ &VehicleInfo__SubscribeDriverBraking__request,
+ &VehicleInfo__SubscribeDriverBraking__response,
+ &VehicleInfo__UnsubscribeDriverBraking__request,
+ &VehicleInfo__UnsubscribeDriverBraking__response,
+ &VehicleInfo__SubscribeWiperStatus__request,
+ &VehicleInfo__SubscribeWiperStatus__response,
+ &VehicleInfo__UnsubscribeWiperStatus__request,
+ &VehicleInfo__UnsubscribeWiperStatus__response,
+ &VehicleInfo__SubscribeHeadLampStatus__request,
+ &VehicleInfo__SubscribeHeadLampStatus__response,
+ &VehicleInfo__UnsubscribeHeadLampStatus__request,
+ &VehicleInfo__UnsubscribeHeadLampStatus__response,
+ &VehicleInfo__SubscribeEngineTorque__request,
+ &VehicleInfo__SubscribeEngineTorque__response,
+ &VehicleInfo__UnsubscribeEngineTorque__request,
+ &VehicleInfo__UnsubscribeEngineTorque__response,
+ &VehicleInfo__SubscribeAccPedalPosition__request,
+ &VehicleInfo__SubscribeAccPedalPosition__response,
+ &VehicleInfo__UnsubscribeAccPedalPosition__request,
+ &VehicleInfo__UnsubscribeAccPedalPosition__response,
+ &VehicleInfo__SubscribeSteeringWheelAngle__request,
+ &VehicleInfo__SubscribeSteeringWheelAngle__response,
+ &VehicleInfo__UnsubscribeSteeringWheelAngle__request,
+ &VehicleInfo__UnsubscribeSteeringWheelAngle__response,
+ &VehicleInfo__SubscribeECallInfo__request,
+ &VehicleInfo__SubscribeECallInfo__response,
+ &VehicleInfo__UnsubscribeECallInfo__request,
+ &VehicleInfo__UnsubscribeECallInfo__response,
+ &VehicleInfo__SubscribeAirbagStatus__request,
+ &VehicleInfo__SubscribeAirbagStatus__response,
+ &VehicleInfo__UnsubscribeAirbagStatus__request,
+ &VehicleInfo__UnsubscribeAirbagStatus__response,
+ &VehicleInfo__SubscribeEmergencyEvent__request,
+ &VehicleInfo__SubscribeEmergencyEvent__response,
+ &VehicleInfo__UnsubscribeEmergencyEvent__request,
+ &VehicleInfo__UnsubscribeEmergencyEvent__response,
+ &VehicleInfo__SubscribeClusterModeStatus__request,
+ &VehicleInfo__SubscribeClusterModeStatus__response,
+ &VehicleInfo__UnsubscribeClusterModeStatus__request,
+ &VehicleInfo__UnsubscribeClusterModeStatus__response,
+ &VehicleInfo__SubscribeMyKey__request,
+ &VehicleInfo__SubscribeMyKey__response,
+ &VehicleInfo__UnsubscribeMyKey__request,
+ &VehicleInfo__UnsubscribeMyKey__response,
+ &SDL__ActivateApp__request,
+ &SDL__ActivateApp__response,
+ &SDL__GetUserFriendlyMessage__request,
+ &SDL__GetUserFriendlyMessage__response,
+ &SDL__OnAllowSDLFunctionality__notification,
+ &SDL__OnReceivedPolicyUpdate__notification,
+ &SDL__OnPolicyUpdate__notification,
+ &SDL__GetListOfPermissions__request,
+ &SDL__GetListOfPermissions__response,
+ &SDL__OnAppPermissionConsent__notification,
+ &SDL__OnAppPermissionChanged__notification,
+ &SDL__OnSDLConsentNeeded__notification,
+ &SDL__UpdateSDL__request,
+ &SDL__UpdateSDL__response,
+ &SDL__GetStatusUpdate__request,
+ &SDL__GetStatusUpdate__response,
+ &SDL__OnStatusUpdate__notification,
+ &SDL__OnSystemError__notification,
+ &SDL__AddStatisticsInfo__notification,
+ &SDL__GetURLS__request,
+ &SDL__GetURLS__response,
+ &SDL__OnDeviceStateChanged__notification,
+ &RC__IsReady__request,
+ &RC__IsReady__response,
+ &RC__GetCapabilities__request,
+ &RC__GetCapabilities__response,
+ &RC__SetInteriorVehicleData__request,
+ &RC__SetInteriorVehicleData__response,
+ &RC__GetInteriorVehicleData__request,
+ &RC__GetInteriorVehicleData__response,
+ &RC__GetInteriorVehicleDataConsent__request,
+ &RC__GetInteriorVehicleDataConsent__response,
+ &RC__OnInteriorVehicleData__notification,
+ &RC__OnRemoteControlSettings__notification,
+ NULL
+};
+}
+
diff --git a/src/components/dbus/test/CMakeLists.txt b/src/components/dbus/test/CMakeLists.txt
index 1b3df2c0e7..914bd2ca84 100644
--- a/src/components/dbus/test/CMakeLists.txt
+++ b/src/components/dbus/test/CMakeLists.txt
@@ -33,11 +33,12 @@ include(${CMAKE_SOURCE_DIR}/tools/cmake/helpers/sources.cmake)
include_directories (
${GMOCK_INCLUDE_DIRECTORY}
${COMPONENTS_DIR}/dbus/include/
+ ${COMPONENTS_DIR}/dbus/test/include/
)
#FIXME: exclude some tests
set (EXCLUDE_PATHS
- test_dbus_message_controller.cc
+ dbus_message_controller_test.cc
)
collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" ${EXCLUDE_PATHS})
diff --git a/src/components/dbus/test/dbus_message_controller_test.cc b/src/components/dbus/test/dbus_message_controller_test.cc
index 5c5d4e69d5..c06e144f9b 100644
--- a/src/components/dbus/test/dbus_message_controller_test.cc
+++ b/src/components/dbus/test/dbus_message_controller_test.cc
@@ -36,14 +36,14 @@
#include <pthread.h>
#include <gtest/gtest.h>
#include <gmock/gmock.h>
-#include "hmi_message_handler/mock_dbus_message_controller.h"
-#include "hmi_message_handler/mock_subscriber.h"
+#include "dbus/mock_dbus_message_controller.h"
+#include "dbus/mock_subscriber.h"
using ::testing::_;
namespace test {
namespace components {
-namespace hmi_message_handler {
+namespace dbus {
ACTION_P(SignalTest, test) {
if (test->thread_id != pthread_self()) {
@@ -111,6 +111,6 @@ TEST_F(DBusMessageControllerTest, DISABLED_Send) {
controller_->Send(kText);
}
-} // namespace hmi_message_handler
+} // namespace dbus
} // namespace components
} // namespace test
diff --git a/src/components/hmi_message_handler/test/include/hmi_message_handler/mock_dbus_message_controller.h b/src/components/dbus/test/include/dbus/mock_dbus_message_controller.h
index 86ebf100bb..2fe4267b35 100644
--- a/src/components/hmi_message_handler/test/include/hmi_message_handler/mock_dbus_message_controller.h
+++ b/src/components/dbus/test/include/dbus/mock_dbus_message_controller.h
@@ -30,18 +30,18 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef SRC_COMPONENTS_HMI_MESSAGE_HANDLER_TEST_INCLUDE_HMI_MESSAGE_HANDLER_MOCK_DBUS_MESSAGE_CONTROLLER_H_
-#define SRC_COMPONENTS_HMI_MESSAGE_HANDLER_TEST_INCLUDE_HMI_MESSAGE_HANDLER_MOCK_DBUS_MESSAGE_CONTROLLER_H_
+#ifndef SRC_COMPONENTS_DBUS_TEST_INCLUDE_DBUS_MOCK_DBUS_MESSAGE_CONTROLLER_H_
+#define SRC_COMPONENTS_DBUS_TEST_INCLUDE_DBUS_MOCK_DBUS_MESSAGE_CONTROLLER_H_
#include <pthread.h>
-#include "hmi_message_handler/dbus_message_controller.h"
+#include "dbus/dbus_message_controller.h"
namespace test {
namespace components {
-namespace hmi_message_handler_test {
+namespace dbus_test {
class MockDBusMessageController
- : public ::hmi_message_handler::DBusMessageController {
+ : public ::dbus::DBusMessageController {
public:
MOCK_METHOD1(Recv, void(std::string&));
@@ -69,8 +69,8 @@ class MockDBusMessageController
}
};
-} // namespace hmi_message_handler_test
+} // namespace dbus_test
} // namespace components
} // namespace test
-#endif // SRC_COMPONENTS_HMI_MESSAGE_HANDLER_TEST_INCLUDE_HMI_MESSAGE_HANDLER_MOCK_DBUS_MESSAGE_CONTROLLER_H_
+#endif // SRC_COMPONENTS_DBUS_TEST_INCLUDE_DBUS_MOCK_DBUS_MESSAGE_CONTROLLER_H_
diff --git a/src/components/hmi_message_handler/test/include/hmi_message_handler/mock_subscriber.h b/src/components/dbus/test/include/dbus/mock_subscriber.h
index 9e9074e70c..b2a369e371 100644
--- a/src/components/hmi_message_handler/test/include/hmi_message_handler/mock_subscriber.h
+++ b/src/components/dbus/test/include/dbus/mock_subscriber.h
@@ -30,8 +30,8 @@
* POSSIBILITY OF SUCH DAMAGE.
*/
-#ifndef SRC_COMPONENTS_HMI_MESSAGE_HANDLER_TEST_INCLUDE_HMI_MESSAGE_HANDLER_MOCK_SUBSCRIBER_H_
-#define SRC_COMPONENTS_HMI_MESSAGE_HANDLER_TEST_INCLUDE_HMI_MESSAGE_HANDLER_MOCK_SUBSCRIBER_H_
+#ifndef SRC_COMPONENTS_DBUS_TEST_INCLUDE_DBUS_MOCK_SUBSCRIBER_H_
+#define SRC_COMPONENTS_DBUS_TEST_INCLUDE_DBUS_MOCK_SUBSCRIBER_H_
#include <string>
@@ -39,7 +39,7 @@ struct DBusConnection;
namespace test {
namespace components {
-namespace hmi_message_handler_test {
+namespace dbus {
class MockSubscriber {
public:
@@ -55,8 +55,8 @@ class MockSubscriber {
DBusConnection* conn_;
};
-} // namespace hmi_message_handler_test
+} // namespace dbus
} // namespace components
} // namespace test
-#endif // SRC_COMPONENTS_HMI_MESSAGE_HANDLER_TEST_INCLUDE_HMI_MESSAGE_HANDLER_MOCK_SUBSCRIBER_H_
+#endif // SRC_COMPONENTS_DBUS_TEST_INCLUDE_DBUS_MOCK_SUBSCRIBER_H_
diff --git a/src/components/hmi_message_handler/test/mock_subscriber.cc b/src/components/dbus/test/mock_subscriber.cc
index 0fc9110a1d..2c5dccaa50 100644
--- a/src/components/hmi_message_handler/test/mock_subscriber.cc
+++ b/src/components/dbus/test/mock_subscriber.cc
@@ -31,14 +31,14 @@
*/
#include "dbus/dbus.h"
-#include "hmi_message_handler/mock_subscriber.h"
+#include "dbus/mock_subscriber.h"
namespace test {
namespace components {
-namespace hmi_message_handler_test {
+namespace dbus {
-MockSubscriber::MockSubscriber(const std::string& nameService,
- const std::string& path)
+MockSubscriber::MockSubscriber(const std::string nameService,
+ const std::string path)
: nameService_(nameService), path_(path), conn_(NULL) {}
MockSubscriber::~MockSubscriber() {}
@@ -66,6 +66,6 @@ bool MockSubscriber::Start() {
void MockSubscriber::Send(const std::string& message) {}
-} // namespace hmi_message_handler_test
+} // namespace dbus
} // namespace components
} // namespace test
diff --git a/src/components/formatters/test/CSmartFactory_test.cc b/src/components/formatters/test/CSmartFactory_test.cc
index f98af88328..3713d076e2 100644
--- a/src/components/formatters/test/CSmartFactory_test.cc
+++ b/src/components/formatters/test/CSmartFactory_test.cc
@@ -67,7 +67,9 @@ TEST(CSmartFactoryTest,
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -79,7 +81,9 @@ TEST(CSmartFactoryTest,
FunctionIdTest::Function1, MessageTypeTest::INVALID_ENUM);
EXPECT_FALSE(SmartType::SmartType_Map == obj.getType());
EXPECT_TRUE(SmartType::SmartType_Null == obj.getType());
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -99,7 +103,9 @@ TEST(
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -120,7 +126,9 @@ TEST(
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::OUT_OF_RANGE, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OUT_OF_RANGE, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -141,7 +149,9 @@ TEST(
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::INVALID_VALUE, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::INVALID_VALUE, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -163,7 +173,9 @@ TEST(CSmartFactoryTest,
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -185,7 +197,9 @@ TEST(
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -221,7 +235,9 @@ TEST(
obj[S_MSG_PARAMS] = SmartObject(SmartType::SmartType_Map);
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::INVALID_VALUE, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::INVALID_VALUE, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -236,7 +252,9 @@ TEST(CSmartFactoryTest,
obj["position"] = 200;
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -251,7 +269,9 @@ TEST(
obj["text"] = "test";
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(1u, keys.size());
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -266,7 +286,9 @@ TEST(CSmartFactoryTest,
obj["position"] = 200;
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -281,10 +303,14 @@ TEST(CSmartFactoryTest,
obj["position"] = 200;
obj["image"]["text"] = "test2";
obj["image"]["position"] = 100;
- EXPECT_EQ(Errors::eType::OK, obj["image"].validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj["image"].validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(3u, keys.size());
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -301,11 +327,15 @@ TEST(
obj["image"]["text"] = "test2";
obj["image"]["position"] = 100;
// Check object "image"
- EXPECT_EQ(Errors::eType::OK, obj["image"].validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj["image"].validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(3u, keys.size());
// Check global object
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -321,11 +351,15 @@ TEST(
obj["image"]["text"] = "test2";
obj["image"]["position"] = 100;
// Check object "image"
- EXPECT_EQ(Errors::eType::OK, obj["image"].validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj["image"].validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
// Check global object
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate());
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -342,11 +376,15 @@ TEST(
obj["image"]["text"] = "test2";
obj["image"]["position"] = 100;
// Check object "image"
- EXPECT_EQ(Errors::eType::OK, obj["image"].validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj["image"].validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(3u, keys.size());
// Check global object
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_TRUE(obj.isValid());
}
@@ -363,7 +401,9 @@ TEST(
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(2u, keys.size());
// Check global object
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
@@ -381,7 +421,9 @@ TEST(
std::set<std::string> keys = obj.enumerate();
EXPECT_EQ(3u, keys.size());
// Check global object
- EXPECT_EQ(Errors::eType::INVALID_VALUE, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::INVALID_VALUE, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_FALSE(obj.isValid());
}
diff --git a/src/components/formatters/test/cFormatterJsonSDLRPCv1_test.cc b/src/components/formatters/test/cFormatterJsonSDLRPCv1_test.cc
index 91701c8aab..a4d40b4478 100644
--- a/src/components/formatters/test/cFormatterJsonSDLRPCv1_test.cc
+++ b/src/components/formatters/test/cFormatterJsonSDLRPCv1_test.cc
@@ -42,7 +42,9 @@ namespace formatters {
TEST(CFormatterJsonSDLRPCv1Test, EmptySmartObjectToString) {
SmartObject srcObj;
- EXPECT_EQ(Errors::eType::OK, srcObj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, srcObj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::string jsonString;
bool result = CFormatterJsonSDLRPCv1::toString(srcObj, jsonString);
@@ -71,7 +73,10 @@ TEST(CFormatterJsonSDLRPCv1Test, SmObjWithRequestWithoutMsgNotValid_ToString) {
srcObj[S_PARAMS][S_PROTOCOL_TYPE] = 0;
srcObj[S_PARAMS][S_PROTOCOL_VERSION] = 1;
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, srcObj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER,
+ srcObj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
std::string jsonString;
bool result = CFormatterJsonSDLRPCv1::toString(srcObj, jsonString);
@@ -102,7 +107,9 @@ TEST(CFormatterJsonSDLRPCv1Test,
srcObj[S_PARAMS][S_PROTOCOL_VERSION] = 1;
srcObj[S_MSG_PARAMS][""] = "";
- EXPECT_EQ(Errors::eType::OK, srcObj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, srcObj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::string jsonString;
@@ -333,7 +340,9 @@ TEST(CFormatterJsonSDLRPCv1Test, StringRequestToSmObj) {
inputJsonString, obj);
EXPECT_EQ(CFormatterJsonSDLRPCv1::kSuccess, result);
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_EQ(obj[S_PARAMS][S_MESSAGE_TYPE], MessageTypeTest::request);
EXPECT_EQ(obj[S_PARAMS][S_FUNCTION_ID], FunctionIDTest::RegisterAppInterface);
EXPECT_EQ(obj[S_PARAMS][S_CORRELATION_ID], 5);
@@ -477,7 +486,9 @@ TEST(CFormatterJsonSDLRPCv1Test, StringNotificationToSmartObject) {
MessageTypeTest::eType>(
inputJsonString, obj);
EXPECT_EQ(CFormatterJsonSDLRPCv1::kSuccess, result);
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_EQ(obj[S_PARAMS][S_MESSAGE_TYPE], MessageTypeTest::notification);
EXPECT_EQ(obj[S_PARAMS][S_FUNCTION_ID], FunctionIDTest::SetGlobalProperties);
EXPECT_EQ(obj[S_PARAMS][S_CORRELATION_ID], 13);
diff --git a/src/components/formatters/test/cFormatterJsonSDLRPCv2_test.cc b/src/components/formatters/test/cFormatterJsonSDLRPCv2_test.cc
index feb7dd3129..c7e6f61674 100644
--- a/src/components/formatters/test/cFormatterJsonSDLRPCv2_test.cc
+++ b/src/components/formatters/test/cFormatterJsonSDLRPCv2_test.cc
@@ -41,7 +41,9 @@ namespace formatters {
TEST(CFormatterJsonSDLRPCv2Test, EmptySmartObjectToString) {
SmartObject srcObj;
- EXPECT_EQ(Errors::eType::OK, srcObj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, srcObj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::string jsonString;
bool result = CFormatterJsonSDLRPCv2::toString(srcObj, jsonString);
@@ -64,7 +66,10 @@ TEST(CFormatterJsonSDLRPCv2Test, SmObjWithRequestWithoutMsgNotValid_ToString) {
srcObj[S_PARAMS][S_PROTOCOL_TYPE] = 0;
srcObj[S_PARAMS][S_PROTOCOL_VERSION] = 2;
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, srcObj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER,
+ srcObj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
std::string jsonString;
bool result = CFormatterJsonSDLRPCv2::toString(srcObj, jsonString);
@@ -88,7 +93,9 @@ TEST(CFormatterJsonSDLRPCv2Test,
srcObj[S_PARAMS][S_PROTOCOL_VERSION] = 2;
srcObj[S_MSG_PARAMS][""] = "";
- EXPECT_EQ(Errors::eType::OK, srcObj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, srcObj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::string jsonString;
@@ -262,7 +269,9 @@ TEST(CFormatterJsonSDLRPCv2Test, StringRequestWithoutCorIdToSmObj) {
MessageTypeTest::request);
EXPECT_EQ(true, result);
- EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::MISSING_MANDATORY_PARAMETER, obj.validate(&report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
EXPECT_EQ(obj[S_PARAMS][S_MESSAGE_TYPE], MessageTypeTest::request);
EXPECT_EQ(obj[S_PARAMS][S_FUNCTION_ID], FunctionIDTest::RegisterAppInterface);
EXPECT_EQ(obj[S_PARAMS][S_PROTOCOL_TYPE], 0);
@@ -307,7 +316,9 @@ TEST(CFormatterJsonSDLRPCv2Test, StringRequestWithCorIdToSmObj) {
corId);
EXPECT_EQ(true, result);
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_EQ(obj[S_PARAMS][S_MESSAGE_TYPE], MessageTypeTest::request);
EXPECT_EQ(obj[S_PARAMS][S_FUNCTION_ID], FunctionIDTest::RegisterAppInterface);
EXPECT_EQ(obj[S_PARAMS][S_CORRELATION_ID], corId);
@@ -372,7 +383,9 @@ TEST(CFormatterJsonSDLRPCv2Test, StringNotificationToSmartObject) {
MessageTypeTest::notification,
corId);
EXPECT_EQ(true, result);
- EXPECT_EQ(Errors::eType::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::eType::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
EXPECT_EQ(obj[S_PARAMS][S_MESSAGE_TYPE], MessageTypeTest::notification);
EXPECT_EQ(obj[S_PARAMS][S_FUNCTION_ID], FunctionIDTest::SetGlobalProperties);
EXPECT_EQ(obj[S_PARAMS][S_CORRELATION_ID], corId);
diff --git a/src/components/formatters/test/formatter_json_rpc_test.cc b/src/components/formatters/test/formatter_json_rpc_test.cc
index fa368924c9..e882bed618 100644
--- a/src/components/formatters/test/formatter_json_rpc_test.cc
+++ b/src/components/formatters/test/formatter_json_rpc_test.cc
@@ -149,7 +149,9 @@ TEST(FormatterJsonRPCTest, UpperBoundValuesInSystemRequest_ToString_Success) {
hmi_apis::HMI_API factory;
EXPECT_TRUE(factory.attachSchema(obj, false));
- EXPECT_EQ(Errors::OK, obj.validate());
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::OK, obj.validate(&report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
std::string result;
// Convert SmartObject to Json string
EXPECT_TRUE(FormatterJsonRpc::ToString(obj, result));
diff --git a/src/components/hmi_message_handler/CMakeLists.txt b/src/components/hmi_message_handler/CMakeLists.txt
index 13d5177046..9fb233b446 100644
--- a/src/components/hmi_message_handler/CMakeLists.txt
+++ b/src/components/hmi_message_handler/CMakeLists.txt
@@ -57,7 +57,7 @@ set(PATHS
)
if (HMIADAPTER STREQUAL "dbus")
- set(EXCLUDE_PATHS)
+ set(EXCLUDE_PATHS messagebroker_adapter.cc)
set(DBUS_ADAPTER DBus)
else()
set(EXCLUDE_PATHS dbus_message_adapter.cc)
diff --git a/src/components/hmi_message_handler/test/CMakeLists.txt b/src/components/hmi_message_handler/test/CMakeLists.txt
index 6d4041e0bf..9e855c563e 100644
--- a/src/components/hmi_message_handler/test/CMakeLists.txt
+++ b/src/components/hmi_message_handler/test/CMakeLists.txt
@@ -37,7 +37,11 @@ include_directories (
${COMPONENTS_DIR}/hmi_message_handler/test/include
)
-set(EXCLUDE_PATHS)
+if (HMIADAPTER STREQUAL "messagebroker")
+ set(EXCLUDE_PATHS)
+else()
+ set(EXCLUDE_PATHS hmi_message_handler_impl_test.cc)
+endif()
set(LIBRARIES
gmock
@@ -48,13 +52,6 @@ set(LIBRARIES
ConfigProfile
)
-if(NOT HMI_DBUS_API})
- list (APPEND EXCLUDE_PATHS
- mock_subscriber.cc
- dbus_message_adapter_test.cc
- )
-endif()
-
collect_sources(SOURCES "${CMAKE_CURRENT_SOURCE_DIR}" "${EXCLUDE_PATHS}")
if (HMIADAPTER STREQUAL "messagebroker")
diff --git a/src/components/rpc_base/include/rpc_base/validation_report.h b/src/components/include/rpc_base/validation_report.h
index 4397112d54..82f265e594 100644
--- a/src/components/rpc_base/include/rpc_base/validation_report.h
+++ b/src/components/include/rpc_base/validation_report.h
@@ -68,14 +68,17 @@ inline void PrettyFormat(const ValidationReport& report,
if (!object_path.empty() && report.object_name()[0] != '[') {
object_path.append(".");
}
+ const ValidationReports& subreports = report.subobject_reports();
object_path.append(report.object_name());
if (!report.validation_info().empty()) {
+ // Insert newline between entries
+ if (!result->empty()) {
+ result->append("\n");
+ }
result->append(object_path);
result->append(": ");
result->append(report.validation_info());
- result->append("\n");
}
- const ValidationReports& subreports = report.subobject_reports();
for (ValidationReports::const_iterator i = subreports.begin(),
end = subreports.end();
i != end;
diff --git a/src/components/interfaces/QT_HMI_API.xml b/src/components/interfaces/QT_HMI_API.xml
index 269031ddc9..0c86d4eea3 100644
--- a/src/components/interfaces/QT_HMI_API.xml
+++ b/src/components/interfaces/QT_HMI_API.xml
@@ -1,4 +1,3 @@
-<?xml version="1.0" standalone="yes"?>
<!--
* Copyright (c) 2013, Ford Motor Company
* All rights reserved.
@@ -62,6 +61,8 @@
<element name="GENERIC_ERROR" value="22"/>
<element name="USER_DISALLOWED" value="23"/>
<element name="TRUNCATED_DATA" value="24"/>
+ <element name="SAVED" value="25"/>
+ <element name="READ_ONLY" value="26"/>
</enum>
<enum name="TransportType">
<description>
@@ -258,6 +259,20 @@
<element name="TESTING"/>
<element name="SYSTEM"/>
</enum>
+ <enum name="WayPointType">
+ <description>Describes what kind of waypoint is requested/provided.</description>
+ <element name="ALL" />
+ <element name="DESTINATION" />
+ </enum>
+
+ <struct name="Coordinate">
+ <param name="latitudeDegrees" minvalue="-90" maxvalue="90" type="Float" mandatory="true">
+ <description>Latitude of the location.</description>
+ </param>
+ <param name="longitudeDegrees" minvalue="-180" maxvalue="180" type="Float" mandatory="true">
+ <description>Longitude of the location.</description>
+ </param>
+ </struct>
<enum name="LayoutMode">
<description>For touchscreen interactions, the mode of how the choices are presented.</description>
<element name="ICON_ONLY"/>
@@ -369,7 +384,7 @@
<element name="IGNITION_OFF"/>
<element name="MASTER_RESET"/>
<element name="FACTORY_DEFAULTS"/>
- <element name="SUSPEND" />
+ <element name="SUSPEND"/>
</enum>
<enum name="DisplayType">
<description>The possible types of HU display.</description>
@@ -408,15 +423,18 @@
<element name="DYNAMIC"/>
</enum>
<enum name="ApplicationExitReason">
- <element name="DRIVER_DISTRACTION_VIOLATION" >
+ <element name="DRIVER_DISTRACTION_VIOLATION">
<description>By getting this value, SDL puts the named app to NONE HMILevel</description>
</element>
- <element name="USER_EXIT" >
+ <element name="USER_EXIT">
<description>By getting this value, SDL puts the named app to NONE HMILevel</description>
</element>
<element name="UNAUTHORIZED_TRANSPORT_REGISTRATION">
<description>By getting this value, SDL unregisters the named application</description>
</element>
+ <element name="UNSUPPORTED_HMI_RESOURCE">
+ <description>By getting this value, SDL unregisters the named application</description>
+ </element>
</enum>
<enum name="TextFieldName">
<element name="mainField1">
@@ -513,6 +531,44 @@
<!-- TO DO to be removed -->
<element name="turnText"/>
</enum>
+ <enum name="MetadataType">
+ <element name="mediaTitle">
+ <description>The data in this field contains the title of the currently playing audio track.</description>
+ </element>
+ <element name="mediaArtist">
+ <description>The data in this field contains the artist or creator of the currently playing audio track.</description>
+ </element>
+ <element name="mediaAlbum">
+ <description>The data in this field contains the album title of the currently playing audio track.</description>
+ </element>
+ <element name="mediaYear">
+ <description>The data in this field contains the creation year of the currently playing audio track.</description>
+ </element>
+ <element name="mediaGenre">
+ <description>The data in this field contains the genre of the currently playing audio track.</description>
+ </element>
+ <element name="mediaStation">
+ <description>The data in this field contains the name of the current source for the media.</description>
+ </element>
+ <element name="rating">
+ <description>The data in this field is a rating.</description>
+ </element>
+ <element name="currentTemperature">
+ <description>The data in this field is the current temperature.</description>
+ </element>
+ <element name="maximumTemperature">
+ <description>The data in this field is the maximum temperature for the day.</description>
+ </element>
+ <element name="minimumTemperature">
+ <description>The data in this field is the minimum temperature for the day.</description>
+ </element>
+ <element name="weatherTerm">
+ <description>The data in this field describes the current weather (ex. cloudy, clear, etc.).</description>
+ </element>
+ <element name="humidity">
+ <description>The data in this field describes the current humidity value.</description>
+ </element>
+ </enum>
<enum name="ImageFieldName">
<element name="softButtonImage">
<description>The image field for SoftButton</description>
@@ -943,7 +999,7 @@
<description>Enumeration listing possible keyboard events.</description>
<element name="KEYPRESS"/>
<element name="ENTRY_SUBMITTED"/>
- <element name="ENTRY_VOICE" />
+ <element name="ENTRY_VOICE"/>
<element name="ENTRY_CANCELLED"/>
<element name="ENTRY_ABORTED"/>
</enum>
@@ -989,20 +1045,20 @@
<element name="AUTH_CHALLENGE"/>
<element name="AUTH_ACK"/>
<element name="PROPRIETARY"/>
- <element name="QUERY_APPS" />
- <element name="LAUNCH_APP" />
- <element name="LOCK_SCREEN_ICON_URL" />
- <element name="TRAFFIC_MESSAGE_CHANNEL" />
- <element name="DRIVER_PROFILE" />
- <element name="VOICE_SEARCH" />
- <element name="NAVIGATION" />
- <element name="PHONE" />
- <element name="CLIMATE" />
- <element name="SETTINGS" />
- <element name="VEHICLE_DIAGNOSTICS" />
- <element name="EMERGENCY" />
- <element name="MEDIA" />
- <element name="FOTA" />
+ <element name="QUERY_APPS"/>
+ <element name="LAUNCH_APP"/>
+ <element name="LOCK_SCREEN_ICON_URL"/>
+ <element name="TRAFFIC_MESSAGE_CHANNEL"/>
+ <element name="DRIVER_PROFILE"/>
+ <element name="VOICE_SEARCH"/>
+ <element name="NAVIGATION"/>
+ <element name="PHONE"/>
+ <element name="CLIMATE"/>
+ <element name="SETTINGS"/>
+ <element name="VEHICLE_DIAGNOSTICS"/>
+ <element name="EMERGENCY"/>
+ <element name="MEDIA"/>
+ <element name="FOTA"/>
</enum>
<enum name="ECallConfirmationStatus">
<description>Reflects the status of the eCall Notification.</description>
@@ -1127,25 +1183,124 @@
</enum>
<enum name="MethodName">
<description>Defines the type of the request which causes text-to-speech prompt</description>
- <element name="ALERT" />
- <element name="SPEAK" />
- <element name="AUDIO_PASS_THRU" />
- <element name="ALERT_MANEUVER" />
+ <element name="ALERT"/>
+ <element name="SPEAK"/>
+ <element name="AUDIO_PASS_THRU"/>
+ <element name="ALERT_MANEUVER"/>
</enum>
<enum name="AlertType">
<description>Defines the type of the request which causes text-to-speech prompt</description>
-<element name="UI" />
-<element name="BOTH" />
+<element name="UI"/>
+<element name="BOTH"/>
</enum>
<enum name="HMILevel">
<element name="FULL"/>
- <element name="LIMITED" />
+ <element name="LIMITED"/>
<element name="BACKGROUND"/>
<element name="NONE"/>
</enum>
+<enum name="EventTypes">
+ <description>Reflects the current active event</description>
+ <element name="AUDIO_SOURCE">
+ <description>Navigated to audio(radio, etc)</description>
+ </element>
+ <element name="EMBEDDED_NAVI">
+ <description>Navigated to navigation screen</description>
+ </element>
+ <element name="PHONE_CALL">
+ <description>Phone call is active</description>
+ </element>
+ <element name="EMERGENCY_EVENT">
+ <description>Active emergency event, active parking event</description>
+ </element>
+ <element name="DEACTIVATE_HMI">
+ <description> GAL/DIO is active </description>
+ </element>
+</enum>
+
+<enum name="VideoStreamingProtocol">
+ <description>Enum for each type of video streaming protocol type.</description>
+ <element name="RAW">
+ <description>
+ Raw stream bytes that contains no timestamp data and is the lowest supported video streaming
+ </description>
+ </element>
+ <element name="RTP">
+ <description>
+ RTP facilitates the transfer of real-time data. Information provided by this protocol include
+ timestamps (for synchronization), sequence numbers (for packet loss and reordering detection)
+ and the payload format which indicates the encoded format of the data.
+ </description>
+ </element>
+ <element name="RTSP">
+ <description>
+ The transmission of streaming data itself is not a task of RTSP. Most RTSP servers use the
+ Real-time Transport Protocol (RTP) in conjunction with Real-time Control Protocol (RTCP)
+ for media stream delivery. However, some vendors implement proprietary transport protocols.
+ </description>
+ </element>
+ <element name="RTMP">
+ <description>
+ Real-Time Messaging Protocol (RTMP) was initially a proprietary protocol developed by
+ Macromedia for streaming audio, video and data over the Internet, between a Flash player
+ and a server. Macromedia is now owned by Adobe, which has released an incomplete version
+ of the specification of the protocol for public use.
+ </description>
+ </element>
+ <element name="WEBM">
+ <description>
+ The WebM container is based on a profile of Matroska. WebM initially supported VP8 video and
+ Vorbis audio streams. In 2013 it was updated to accommodate VP9 video and Opus audio.
+ </description>
+ </element>
+</enum>
+
+<enum name="VideoStreamingCodec">
+ <description>Enum for each type of video streaming codec.</description>
+ <element name="H264">
+ <description>
+ A block-oriented motion-compensation-based video compression standard.
+ As of 2014 it is one of the most commonly used formats for the recording, compression, and
+ distribution of video content.
+ </description>
+ </element>
+ <element name="H265">
+ <description>
+ High Efficiency Video Coding (HEVC), also known as H.265 and MPEG-H Part 2, is a video
+ compression standard, one of several potential successors to the widely used AVC (H.264 or
+ MPEG-4 Part 10). In comparison to AVC, HEVC offers about double the data compression ratio
+ at the same level of video quality, or substantially improved video quality at the same
+ bit rate. It supports resolutions up to 8192x4320, including 8K UHD.
+ </description>
+ </element>
+ <element name="Theora">
+ <description>
+ Theora is derived from the formerly proprietary VP3 codec, released into the public domain
+ by On2 Technologies. It is broadly comparable in design and bitrate efficiency to
+ MPEG-4 Part 2, early versions of Windows Media Video, and RealVideo while lacking some of
+ the features present in some of these other codecs. It is comparable in open standards
+ philosophy to the BBC's Dirac codec.
+ </description>
+ </element>
+ <element name="VP8">
+ <description>
+ VP8 can be multiplexed into the Matroska-based container format WebM along with Vorbis and
+ Opus audio. The image format WebP is based on VP8's intra-frame coding. VP8's direct
+ successor, VP9, and the emerging royalty-free internet video format AV1 from the Alliance for
+ Open Media (AOMedia) are based on VP8.
+ </description>
+ </element>
+ <element name="VP9">
+ <description>
+ Similar to VP8, but VP9 is customized for video resolutions beyond high-definition video (UHD)
+ and also enables lossless compression.
+ </description>
+ </element>
+</enum>
+
<!-- Policies -->
<enum name="UpdateResult">
<element name="UP_TO_DATE"/>
@@ -1178,7 +1333,7 @@
<description>The transport type the named-app's-device is connected over HU(BlueTooth, USB or WiFi). It must be provided in OnAppRegistered and in UpdateDeviceList</description>
</param>
<param name="isSDLAllowed" type="Boolean" mandatory="false">
- <description>Sent by SDL in UpdateDeviceList. ’true’ – if device is allowed for PolicyTable Exchange; ‘false’ – if device is NOT allowed for PolicyTable Exchange </description>
+ <description>Sent by SDL in UpdateDeviceList. &#8217;true&#8217; &#8211; if device is allowed for PolicyTable Exchange; &#8216;false&#8217; &#8211; if device is NOT allowed for PolicyTable Exchange </description>
</param>
</struct>
<struct name="UserFriendlyMessage" scope="internal">
@@ -1210,16 +1365,16 @@
</struct>
<!-- End of Policies -->
<struct name="TextField">
- <param name="name" type="Common.TextFieldName">
+ <param name="name" type="Common.TextFieldName" mandatory="true">
<description>The name that identifies the field. See TextFieldName.</description>
</param>
- <param name="characterSet" type="Common.CharacterSet">
+ <param name="characterSet" type="Common.CharacterSet" mandatory="true">
<description>The character set that is supported in this field. See CharacterSet.</description>
</param>
- <param name="width" type="Integer" minvalue="1" maxvalue="500">
+ <param name="width" type="Integer" minvalue="1" maxvalue="500" mandatory="true">
<description>The number of characters in one row of this field.</description>
</param>
- <param name="rows" type="Integer" minvalue="1" maxvalue="8">
+ <param name="rows" type="Integer" minvalue="1" maxvalue="8" mandatory="true">
<description>The number of rows of this field.</description>
</param>
</struct>
@@ -1240,27 +1395,13 @@
</struct>
<struct name="VehicleDataResult">
<description>Individual published data request result</description>
- <param name="dataType" type="Common.VehicleDataType">
+ <param name="dataType" type="Common.VehicleDataType" mandatory="true">
<description>Defined published data element type.</description>
</param>
- <param name="resultCode" type="Common.VehicleDataResultCode">
+ <param name="resultCode" type="Common.VehicleDataResultCode" mandatory="true">
<description>Published data result code.</description>
</param>
</struct>
- <struct name="DeviceInfo">
- <param name="name" type="String" mandatory="true">
- <description>The name of the device connected.</description>
- </param>
- <param name="id" type="String" mandatory="true">
- <description>The ID of the device connected: either hash of device's USB serial number(in case of USB connection) or hash of device's MAC address(in case of BlueTooth or WIFI connection).</description>
- </param>
- <param name="transportType" type="Common.TransportType" mandatory="false">
- <description>The transport type the named-app's-device is connected over HU(BlueTooth, USB or WiFi). It must be provided in OnAppRegistered and in UpdateDeviceList</description>
- </param>
- <param name="isSDLAllowed" type="Boolean" mandatory="false">
- <description>Sent by SDL in UpdateDeviceList. ’true’ – if device is allowed for PolicyTable Exchange; ‘false’ – if device is NOT allowed for PolicyTable Exchange </description>
- </param>
- </struct>
<struct name="TouchCoord">
<param name="x" type="Integer" mandatory="true" minvalue="0" maxvalue="10000">
<description>The x coordinate of the touch.</description>
@@ -1350,7 +1491,7 @@
<param name="policyAppID" type="String" maxlength="50" minlength="1" mandatory="true">
<description>Policy ID(=the appID the application registers with) of registered application.</description>
</param>
- <param name="ttsName" type="Common.TTSChunk" minsize="1" maxsize="100" array="true" mandatory="false" >
+ <param name="ttsName" type="Common.TTSChunk" minsize="1" maxsize="100" array="true" mandatory="false">
<description>
TTS string for VR recognition of the mobile application name, e.g. "Ford Drive Green".
Meant to overcome any failing on speech engine in properly pronouncing / understanding app name.
@@ -1481,6 +1622,31 @@
<description>The image resolution of this field.</description>
</param>
</struct>
+ <struct name="VideoStreamingFormat">
+ <description>Video streaming formats and their specifications.</description>
+ <param name="protocol" type="Common.VideoStreamingProtocol" mandatory="true">
+ <description>Protocol type, see VideoStreamingProtocol</description>
+ </param>
+ <param name="codec" type="Common.VideoStreamingCodec" mandatory="true">
+ <description>Codec type, see VideoStreamingCodec</description>
+ </param>
+ </struct>
+
+ <struct name="VideoConfig">
+ <description>Configuration of a video stream.</description>
+ <param name="protocol" type="Common.VideoStreamingProtocol" mandatory="false">
+ <description>The video protocol configuration</description>
+ </param>
+ <param name="codec" type="Common.VideoStreamingCodec" mandatory="false">
+ <description>The video codec configuration</description>
+ </param>
+ <param name="width" type="Integer" mandatory="false">
+ <description>Width of the video stream, in pixels.</description>
+ </param>
+ <param name="height" type="Integer" mandatory="false">
+ <description>Height of the video stream, in pixels.</description>
+ </param>
+ </struct>
<struct name="DisplayCapabilities">
<description>Contains information about the display capabilities.</description>
<param name="displayType" type="Common.DisplayType" mandatory="true">
@@ -1820,70 +1986,70 @@
</param>
</struct>
<struct name="ECallInfo">
- <param name="eCallNotificationStatus" type="Common.VehicleDataNotificationStatus">
+ <param name="eCallNotificationStatus" type="Common.VehicleDataNotificationStatus" mandatory="true">
<description>References signal "eCallNotification_4A". See VehicleDataNotificationStatus.</description>
</param>
- <param name="auxECallNotificationStatus" type="Common.VehicleDataNotificationStatus">
+ <param name="auxECallNotificationStatus" type="Common.VehicleDataNotificationStatus" mandatory="true">
<description>References signal "eCallNotification". See VehicleDataNotificationStatus.</description>
</param>
- <param name="eCallConfirmationStatus" type="Common.ECallConfirmationStatus">
+ <param name="eCallConfirmationStatus" type="Common.ECallConfirmationStatus" mandatory="true">
<description>References signal "eCallConfirmation". See ECallConfirmationStatus.</description>
</param>
</struct>
<struct name="AirbagStatus">
- <param name="driverAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="driverAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsDrvBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="driverSideAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="driverSideAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsDrvSideBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="driverCurtainAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="driverCurtainAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsDrvCrtnBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="passengerAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="passengerAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsPasBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="passengerCurtainAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="passengerCurtainAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsPasCrtnBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="driverKneeAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="driverKneeAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsKneeDrvBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="passengerSideAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="passengerSideAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsPasSideBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="passengerKneeAirbagDeployed" type="Common.VehicleDataEventStatus">
+ <param name="passengerKneeAirbagDeployed" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsKneePasBag_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
</struct>
<struct name="EmergencyEvent">
- <param name="emergencyEventType" type="Common.EmergencyEventType">
+ <param name="emergencyEventType" type="Common.EmergencyEventType" mandatory="true">
<description>References signal "VedsEvntType_D_Ltchd". See EmergencyEventType.</description>
</param>
- <param name="fuelCutoffStatus" type="Common.FuelCutoffStatus">
+ <param name="fuelCutoffStatus" type="Common.FuelCutoffStatus" mandatory="true">
<description>References signal "RCM_FuelCutoff". See FuelCutoffStatus.</description>
</param>
- <param name="rolloverEvent" type="Common.VehicleDataEventStatus">
+ <param name="rolloverEvent" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsEvntRoll_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="maximumChangeVelocity" type="Common.VehicleDataEventStatus">
+ <param name="maximumChangeVelocity" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsMaxDeltaV_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
- <param name="multipleEvents" type="Common.VehicleDataEventStatus">
+ <param name="multipleEvents" type="Common.VehicleDataEventStatus" mandatory="true">
<description>References signal "VedsMultiEvnt_D_Ltchd". See VehicleDataEventStatus.</description>
</param>
</struct>
<struct name="ClusterModeStatus">
- <param name="powerModeActive" type="Boolean">
+ <param name="powerModeActive" type="Boolean" mandatory="true">
<description>References signal "PowerMode_UB".</description>
</param>
- <param name="powerModeQualificationStatus" type="Common.PowerModeQualificationStatus">
+ <param name="powerModeQualificationStatus" type="Common.PowerModeQualificationStatus" mandatory="true">
<description>References signal "PowerModeQF". See PowerModeQualificationStatus.</description>
</param>
- <param name="carModeStatus" type="Common.CarModeStatus">
+ <param name="carModeStatus" type="Common.CarModeStatus" mandatory="true">
<description>References signal "CarMode". See CarMode.</description>
</param>
- <param name="powerModeStatus" type="Common.PowerModeStatus">
+ <param name="powerModeStatus" type="Common.PowerModeStatus" mandatory="true">
<description>References signal "PowerMode". See PowerMode.</description>
</param>
</struct>
@@ -1893,6 +2059,452 @@
</param>
</struct>
<!--end of IVI part-->
+ <!-- Remote Control -->
+ <enum name="ModuleType">
+ <element name="CLIMATE"/>
+ <element name="RADIO"/>
+ </enum>
+
+ <enum name="RadioBand">
+ <element name="AM"/>
+ <element name="FM"/>
+ <element name="XM"/>
+ </enum>
+
+ <struct name="RdsData">
+ <param name="PS" type="String" minlength="0" maxlength="8" mandatory="false">
+ <description>Program Service Name</description>
+ </param>
+ <param name="RT" type="String" minlength="0" maxlength="64" mandatory="false">
+ <description>Radio Text</description>
+ </param>
+ <param name="CT" type="String" minlength="24" maxlength="24" mandatory="false">
+ <description>The clock text in UTC format as YYYY-MM-DDThh:mm:ss.sTZD</description>
+ </param>
+ <param name="PI" type="String" minlength="0" maxlength="6" mandatory="false">
+ <description>Program Identification - the call sign for the radio station</description>
+ </param>
+ <param name="PTY" type="Integer" minvalue="0" maxvalue="31" mandatory="false">
+ <description>The program type - The region should be used to differentiate between EU and North America program types</description>
+ </param>
+ <param name="TP" type="Boolean" mandatory="false">
+ <description>Traffic Program Identification - Identifies a station that offers traffic</description>
+ </param>
+ <param name="TA" type="Boolean" mandatory="false">
+ <description>Traffic Announcement Identification - Indicates an ongoing traffic announcement</description>
+ </param>
+ <param name="REG" type="String" mandatory="false">
+ <description>Region</description>
+ </param>
+ </struct>
+
+ <enum name="RadioState">
+ <element name="ACQUIRING"/>
+ <element name="ACQUIRED"/>
+ <element name="MULTICAST"/>
+ <element name="NOT_FOUND"/>
+ </enum>
+
+ <struct name="RadioControlData">
+ <param name="frequencyInteger" type="Integer" minvalue="0" maxvalue="1710" mandatory="false">
+ <description>The integer part of the frequency ie for 101.7 this value should be 101</description>
+ </param>
+ <param name="frequencyFraction" type="Integer" minvalue="0" maxvalue="9" mandatory="false">
+ <description>The fractional part of the frequency for 101.7 is 7</description>
+ </param>
+ <param name="band" type="Common.RadioBand" mandatory="false">
+ </param>
+ <param name="rdsData" type="Common.RdsData" mandatory="false">
+ </param>
+ <param name="availableHDs" type="Integer" minvalue="1" maxvalue="3" mandatory="false">
+ <description>number of HD sub-channels if available</description>
+ </param>
+ <param name="hdChannel" type="Integer" minvalue="1" maxvalue="3" mandatory="false">
+ <description>Current HD sub-channel if available</description>
+ </param>
+ <param name="signalStrength" type="Integer" minvalue="0" maxvalue="100" mandatory="false">
+ </param>
+ <param name="signalChangeThreshold" type="Integer" minvalue="0" maxvalue="100" mandatory="false">
+ <description>If the signal strength falls below the set value for this parameter, the radio will tune to an alternative frequency</description>
+ </param>
+ <param name="radioEnable" type="Boolean" mandatory="false">
+ <description> True if the radio is on, false is the radio is off</description>
+ </param>
+ <param name="state" type="Common.RadioState" mandatory="false">
+ </param>
+ </struct>
+
+ <struct name="RadioControlCapabilities">
+ <description>Contains information about a radio control module's capabilities.</description>
+ <param name="moduleName" type="String" maxlength="100" mandatory="true" >
+ <description>The short name or a short description of the radio control module.</description>
+ </param>
+ <param name="radioEnableAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of enable/disable radio.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="radioBandAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the control of radio band.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="radioFrequencyAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the control of radio frequency.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="hdChannelAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the control of HD radio channel.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="rdsDataAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the getting Radio Data System (RDS) data.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="availableHDsAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the getting the number of available HD channels.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="stateAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the getting the Radio state.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="signalStrengthAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the getting the signal strength.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="signalChangeThresholdAvailable" type="Boolean" mandatory="false" >
+ <description>
+ Availability of the getting the signal Change Threshold.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ </struct>
+
+ <enum name="DefrostZone">
+ <element name="FRONT"/>
+ <element name="REAR"/>
+ <element name="ALL"/>
+ <element name="NONE"/>
+ </enum>
+
+ <enum name="VentilationMode">
+ <element name="UPPER"/>
+ <element name="LOWER"/>
+ <element name="BOTH"/>
+ <element name="NONE"/>
+ </enum>
+
+ <enum name="TemperatureUnit">
+ <element name="FAHRENHEIT"/>
+ <element name="CELSIUS"/>
+ </enum>
+
+ <struct name="Temperature">
+ <param name="unit" type="TemperatureUnit" mandatory="true" >
+ <description>Temperature Unit</description>
+ </param>
+ <param name="value" type="Float" mandatory="true" >
+ <description>Temperature Value in TemperatureUnit specified unit. Range depends on OEM and is not checked by SDL.</description>
+ </param>
+ </struct>
+
+ <struct name="ClimateControlData">
+ <param name="fanSpeed" type="Integer" minvalue="0" maxvalue="100" mandatory="false">
+ </param>
+ <param name="currentTemperature" type="Common.Temperature" mandatory="false">
+ </param>
+ <param name="desiredTemperature" type="Common.Temperature" mandatory="false">
+ </param>
+ <param name="acEnable" type="Boolean" mandatory="false">
+ </param>
+ <param name="circulateAirEnable" type="Boolean" mandatory="false">
+ </param>
+ <param name="autoModeEnable" type="Boolean" mandatory="false">
+ </param>
+ <param name="defrostZone" type="DefrostZone" mandatory="false">
+ </param>
+ <param name="dualModeEnable" type="Boolean" mandatory="false">
+ </param>
+ <param name="acMaxEnable" type="Boolean" mandatory="false">
+ </param>
+ <param name="ventilationMode" type="Common.VentilationMode" mandatory="false">
+ </param>
+ </struct>
+
+ <struct name="ClimateControlCapabilities">
+ <description>Contains information about a climate control module's capabilities.</description>
+ <param name="moduleName" type="String" maxlength="100" mandatory="true" >
+ <description>The short name or a short description of the climate control module.</description>
+ </param>
+ <param name="currentTemperatureAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the reading of current temperature.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="fanSpeedAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of fan speed.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="desiredTemperatureAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of desired temperature.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="acEnableAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of turn on/off AC.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="acMaxEnableAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of enable/disable air conditioning is ON on the maximum level.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="circulateAirEnableAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of enable/disable circulate Air mode.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="autoModeEnableAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of enable/disable auto mode.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="dualModeEnableAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of enable/disable dual mode.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="defrostZoneAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of defrost zones.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="defrostZone" type="Common.DefrostZone" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>
+ A set of all defrost zones that are controllable.
+ </description>
+ </param>
+ <param name="ventilationModeAvailable" type="Boolean" mandatory="false">
+ <description>
+ Availability of the control of air ventilation mode.
+ True: Available, False: Not Available, Not present: Not Available.
+ </description>
+ </param>
+ <param name="ventilationMode" type="Common.VentilationMode" minsize="1" maxsize="100" array="true" mandatory="false">
+ <description>
+ A set of all ventilation modes that are controllable.
+ </description>
+ </param>
+ </struct>
+
+ <struct name="ModuleData">
+ <description>The moduleType indicates which type of data should be changed and identifies which data object exists in this struct. For example, if the moduleType is CLIMATE then a "climateControlData" should exist</description>
+ <param name="moduleType" type="Common.ModuleType" mandatory="true" >
+ </param>
+ <param name="radioControlData" type="Common.RadioControlData" mandatory="false">
+ </param>
+ <param name="climateControlData" type="Common.ClimateControlData" mandatory="false">
+ </param>
+ </struct>
+
+ <enum name="RCAccessMode">
+ <description>Enumeration that describes possible remote control access mode the application might be in on HU.</description>
+ <element name="AUTO_ALLOW"/>
+ <element name="AUTO_DENY"/>
+ <element name="ASK_DRIVER"/>
+ </enum>
+<struct name="DateTime">
+ <param name="millisecond" type="Integer" minvalue="0" maxvalue="999" mandatory="false">
+ <description>Milliseconds </description>
+ </param>
+ <param name="second" type="Integer" minvalue="0" maxvalue="60" mandatory="false">
+ <description>Seconds part of time</description>
+ </param>
+ <param name="minute" type="Integer" minvalue="0" maxvalue="59" mandatory="false">
+ <description>Minutes part of time</description>
+ </param>
+ <param name="hour" type="Integer" minvalue="0" maxvalue="23" mandatory="false">
+ <description>Hours part of time. Note that this structure accepts time only in 24 Hr format</description>
+ </param>
+ <param name="day" type="Integer" minvalue="1" maxvalue="31" mandatory="false">
+ <description>Day of the month</description>
+ </param>
+ <param name="month" type="Integer" minvalue="1" maxvalue="12" mandatory="false">
+ <description>Month of the year</description>
+ </param>
+ <param name="year" type="Integer" maxvalue="4095" mandatory="false">
+ <description>The year in YYYY format</description>
+ </param>
+ <param name="tz_hour" type="Integer" minvalue="-12" maxvalue="14" defvalue="0" mandatory="false">
+ <description>Time zone offset in Hours wrt UTC.</description>
+ </param>
+ <param name="tz_minute" type="Integer" minvalue="0" maxvalue="59" defvalue="0" mandatory="false">
+ <description>Time zone offset in Min wrt UTC.</description>
+ </param>
+</struct>
+
+<struct name="OASISAddress">
+ <param name="countryName" minlength="0" maxlength="200" type="String" mandatory="false">
+ <description>Name of the country (localized)</description>
+ </param>
+ <param name="countryCode" minlength="0" maxlength="50" type="String" mandatory="false">
+ <description>Name of country (ISO 3166-2)</description>
+ </param>
+ <param name="postalCode" minlength="0" maxlength="16" type="String" mandatory="false">
+ <description>(PLZ, ZIP, PIN, CAP etc.)</description>
+ </param>
+ <param name="administrativeArea" minlength="0" maxlength="200" type="String" mandatory="false">
+ <description>Portion of country (e.g. state)</description>
+ </param>
+ <param name="subAdministrativeArea" minlength="0" maxlength="200" type="String" mandatory="false">
+ <description>Portion of e.g. state (e.g. county)</description>
+ </param>
+ <param name="locality" minlength="0" maxlength="200" type="String" mandatory="false">
+ <description>Hypernym for e.g. city/village</description>
+ </param>
+ <param name="subLocality" minlength="0" maxlength="200" type="String" mandatory="false">
+ <description>Hypernym for e.g. district</description>
+ </param>
+ <param name="thoroughfare" minlength="0" maxlength="200" type="String" mandatory="false">
+ <description>Hypernym for street, road etc.</description>
+ </param>
+ <param name="subThoroughfare" minlength="0" maxlength="200" type="String" mandatory="false">
+ <description>Portion of thoroughfare e.g. house number</description>
+ </param>
+</struct>
+
+ <struct name="LocationDetails">
+ <param name="coordinate" type="Coordinate" mandatory="false">
+ <description>Latitude/Longitude of the location.</description>
+ </param>
+ <param name="locationName" type="String" maxlength="500" mandatory="false">
+ <description>Name of location.</description>
+ </param>
+ <param name="addressLines" type="String" maxlength="500" minsize="0" maxsize="4" array="true" mandatory="false">
+ <description>Location address for display purposes only</description>
+ </param>
+ <param name="locationDescription" type="String" maxlength="500" mandatory="false">
+ <description>Description intended location / establishment (if applicable)</description>
+ </param>
+ <param name="phoneNumber" type="String" maxlength="500" mandatory="false">
+ <description>Phone number of location / establishment.</description>
+ </param>
+ <param name="locationImage" type="Image" mandatory="false">
+ <description>Image / icon of intended location.</description>
+ </param>
+ <param name="searchAddress" type="OASISAddress" mandatory="false">
+ <description>Address to be used by navigation engines for search</description>
+ </param>
+ </struct>
+
+ <struct name="NavigationCapability">
+ <description>Extended capabilities for an onboard navigation system</description>
+ <param name="sendLocationEnabled" type="Boolean" mandatory="false">
+ <description>If the module has the ability to add locations to the onboard nav</description>
+ </param>
+ <param name="getWayPointsEnabled" type="Boolean" mandatory="false">
+ <description>If the module has the ability to return way points from onboard nav</description>
+ </param>
+ </struct>
+
+ <struct name="PhoneCapability">
+ <description>Extended capabilities of the module's phone feature</description>
+ <param name="dialNumberEnabled" type="Boolean" mandatory="false">
+ <description>If the module has the abiulity to perform dial number</description>
+ </param>
+ </struct>
+
+ <struct name="VideoStreamingCapability">
+ <description>Contains information about this system's video streaming capabilities.</description>
+ <param name="preferredResolution" type="Common.ImageResolution" mandatory="false">
+ <description>The preferred resolution of a video stream for decoding and rendering on HMI.</description>
+ </param>
+ <param name="maxBitrate" type="Integer" minvalue="0" maxvalue="2147483647" mandatory="false">
+ <description>The maximum bitrate of video stream that is supported, in kbps.</description>
+ </param>
+ <param name="supportedFormats" type="Common.VideoStreamingFormat" array="true" mandatory="false">
+ <description>
+ Detailed information on each format supported by this system, in its preferred order
+ (i.e. the first element in the array is most preferable to the system).
+ Each object will contain a VideoStreamingFormat that describes what can be expected.
+ </description>
+ </param>
+ <param name="hapticSpatialDataSupported" type="Boolean" mandatory="false">
+ <description>True if the system can utilize the haptic spatial data from the source being streamed. </description>
+ </param>
+ </struct>
+
+ <struct name="SystemCapabilities">
+ <param name="navigationCapability" type="NavigationCapability" mandatory="false">
+ </param>
+ <param name="phoneCapability" type="PhoneCapability" mandatory="false">
+ </param>
+ <param name="videoStreamingCapability" type="VideoStreamingCapability" mandatory="false">
+ </param>
+ </struct>
+
+ <struct name="RemoteControlCapabilities">
+ <param name="climateControlCapabilities" type="ClimateControlCapabilities" mandatory="false" minsize="1" maxsize="100" array="true">
+ <description>If included, the platform supports RC climate controls. For this baseline version, maxsize=1. i.e. only one climate control module is supported.</description >
+ </param>
+ <param name="radioControlCapabilities" type="RadioControlCapabilities" mandatory="false" minsize="1" maxsize="100" array="true">
+ <description>If included, the platform supports RC radio controls. For this baseline version, maxsize=1. i.e. only one climate control module is supported.</description >
+ </param>
+ <param name="buttonCapabilities" type="ButtonCapabilities" mandatory="false" minsize="1" maxsize="100" array="true" >
+ <description>If included, the platform supports RC button controls with the included button names.</description >
+ </param>
+ </struct>
+
+ <struct name="Rectangle">
+ <param name="x" type="Float" mandatory="true">
+ <description>The X-coordinate of the user control</description>
+ </param>
+ <param name="y" type="Float" mandatory="true">
+ <description>The Y-coordinate of the user control</description>
+ </param>
+ <param name="width" type="Float" mandatory="true">
+ <description>The width of the user control's bounding rectangle</description>
+ </param>
+ <param name="height" type="Float" mandatory="true">
+ <description>The height of the user control's bounding rectangle</description>
+ </param>
+ </struct>
+
+ <struct name="HapticRect">
+ <description>Defines haptic rectangle data for each user control object for video streaming application</description>
+ <param name="id" type="Integer" minvalue="0" maxvalue="2000000000" mandatory="true">
+ <description>A user control spatial identifier</description>
+ </param>
+ <param name="rect" type="Common.Rectangle" mandatory="true">
+ <description>The position of the haptic rectangle to be highlighted. The center of this rectangle will be "touched" when a press occurs.</description>
+ </param>
+ </struct>
</interface>
<interface name="Buttons" version="1.0" date="2013-04-12">
<function name="GetCapabilities" messagetype="request" provider="hmi">
@@ -1939,9 +2551,9 @@
</function>
<function name="OnButtonSubscription" messagetype="notification">
<description>
- Sender: SDL->HMI. Purpose: to notify about button subscription state is changed for the named application
+ Sender: SDL-&gt;HMI. Purpose: to notify about button subscription state is changed for the named application
</description>
- <param name="name" type="Common.ButtonName" mandatory="true" />
+ <param name="name" type="Common.ButtonName" mandatory="true"/>
<param name="isSubscribed" type="Boolean" mandatory="true">
<description>
Defines whether the named button has status of 'subscribed' or 'unsubscribed':
@@ -1967,14 +2579,14 @@
<description>Notification from HMI to SDL sent when HMI requires update of device list (i.e. when user clicks 'Change Device' button)</description>
</function>
<function name="OnPhoneCall" messagetype="notification">
- <description>Sender: HMI->SDL. When: upon phone-call event started or ended</description>
+ <description>Sender: HMI-&gt;SDL. When: upon phone-call event started or ended</description>
<param name="isActive" type="Boolean" mandatory="true">
<description>Must be 'true' - when the phone call is started on HMI. Must be 'false' when the phone call is ended on HMI</description>
</param>
</function>
<function name="OnEmergencyEvent" messagetype="notification">
<description>
- "Sender: HMI->SDL. Conditions: when HMI enters the mode of "911 Assist", or other rear view camera,
+ "Sender: HMI-&gt;SDL. Conditions: when HMI enters the mode of "911 Assist", or other rear view camera,
or something else in the future. Purpose: for SDL to change the audioStreamingState of the related apps to
NOT_AUDIBLE when "enabled:true" and back to AUDIBLE when "enabled:false""
</description>
@@ -2122,7 +2734,7 @@
</function>
<function name="OnAwakeSDL" messagetype="notification">
<description>
- Sender: HMI->SDL. Must be sent to return SDL to normal operation after 'Suspend' or 'LowVoltage' events
+ Sender: HMI-&gt;SDL. Must be sent to return SDL to normal operation after 'Suspend' or 'LowVoltage' events
</description>
</function>
<function name="MixingAudioSupported" messagetype="request" provider="hmi">
@@ -2143,6 +2755,17 @@
<description>Defines the name of app's request that initiates playing a tone</description>
</param>
</function>
+ <function name="DialNumber" messagetype="request">
+ <description>Request from SDL to call a specific number.</description>
+ <param name="number" type="String" maxlength="40" mandatory="true">
+ <description>The number to dial. Only the character + and numbers are allowed.</description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application that concerns this RPC.</description>
+ </param>
+ </function>
+ <function name="DialNumber" messagetype="response">
+ </function>
<!-- Policies -->
<!-- SyncP RPC-->
<function name="OnSystemRequest" messagetype="notification" provider="hmi">
@@ -2273,7 +2896,7 @@
<description>Notification from system to SDL to let it know that ignition cycle is over.</description>
</function>
<function name="DecryptCertificate" messagetype="request">
- <description>Sender: SDL->HMI. Purpose: to decrypt the certificate received via the Updated Policy Table. </description>
+ <description>Sender: SDL-&gt;HMI. Purpose: to decrypt the certificate received via the Updated Policy Table. </description>
<param name="fileName" type="String" maxlength="255" minlength="1" mandatory="true">
<description>The path to the file with the encrypted certificate from the PolicyTable.</description>
</param>
@@ -2281,6 +2904,15 @@
<function name="DecryptCertificate" messagetype="response">
<description>SUCCESS - in case the certificate is decrypted and placed to the same file from request.</description>
</function>
+ <function name="OnEventChanged" messagetype="notification">
+ <description>Sender: HMI->SDL. When event is become active</description>
+ <param name="eventName" type="Common.EventTypes" mandatory="true">
+ <description>Specifies the types of active events.</description>
+ </param>
+ <param name="isActive" type="Boolean" mandatory="true">
+ <description>Must be 'true' - when the event is started on HMI. Must be 'false' when the event is ended on HMI</description>
+ </param>
+ </function>
<!-- End of Policies -->
</interface>
<interface name="VR" version="1.0" date="2013-04-17">
@@ -2477,7 +3109,7 @@
</function>
<function name="ChangeRegistration" messagetype="request" provider="hmi">
<description>Request from SmartDeviceLink to HMI to change language of TTS.</description>
- <param name="ttsName" type="Common.TTSChunk" minsize="1" maxsize="100" array="true" mandatory="false" >
+ <param name="ttsName" type="Common.TTSChunk" minsize="1" maxsize="100" array="true" mandatory="false">
<description>
Request new ttsName registration
TTS string for VR recognition of the mobile application name, e.g. "Ford Drive Green".
@@ -2540,7 +3172,7 @@
</function>
<function name="OnResetTimeout" messagetype="notification">
<description>
- Sender: HMI->SDL. HMI must send this notification every 10 sec. in case the 'methodName'
+ Sender: HMI-&gt;SDL. HMI must send this notification every 10 sec. in case the 'methodName'
results long processing on HMI
</description>
<param name="appID" type="Integer" mandatory="true">
@@ -2788,7 +3420,7 @@
<description>Must be returned if the platform supports on-screen SoftButtons.</description>
</param>
<param name="hmiCapabilities" type="Common.HMICapabilities" mandatory="false">
- <description>Specifies the HMI’s capabilities. See HMICapabilities.</description>
+ <description>Specifies the HMI&#8217;s capabilities. See HMICapabilities.</description>
</param>
</function>
<function name="ChangeRegistration" messagetype="request" provider="hmi">
@@ -2963,7 +3595,7 @@
</function>
<function name="Slider" messagetype="response">
<param name="sliderPosition" type="Integer" minvalue="1" maxvalue="26" mandatory="false">
- <description>Current slider position. Must be returned when the user has clicked the &#x2018;Save&#x2019; or &#x2018;Canceled&#x2019; button or by the timeout </description>
+ <description>Current slider position. Must be returned when the user has clicked the &#8216;Save&#8217; or &#8216;Canceled&#8217; button or by the timeout </description>
</param>
</function>
<function name="ScrollableMessage" messagetype="request" provider="hmi">
@@ -3042,6 +3674,22 @@
<description>ID of application related to this RPC.</description>
</param>
</function>
+ <function name="SendHapticData" messagetype="request">
+ <description>Send the UI spatial data from MOBILE. This data will be utilized by the HMI to determine how and when haptic events should occur</description>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>Internal ID of the application that requested this RPC.</description>
+ </param>
+ <param name="hapticRectData" type="Common.HapticRect" minsize="0" maxsize="1000" mandatory="false" array="true">
+ <description>
+ Array of rectangle data structures that represent the locations of all user controls present on the HMI.
+ This data should be updated if/when the application presents a new screen.
+ When a request is sent, if successful, it will replace all rectangle data previously sent through RPC.
+ Avoidance of doubt, when an empty hapticRectData, it will be clear all rectangle data previously sent through RPC.
+ </description>
+ </param>
+ </function>
+ <function name="SendHapticData" messagetype="response">
+ </function>
</interface>
<interface name="Navigation" version="1.0" date="2013-05-22">
<function name="IsReady" messagetype="request" provider="hmi">
@@ -3077,34 +3725,17 @@
<description> Image / icon of intended location (if applicable and supported) </description>
</param>
</function>
- <function name="SendLocation" messagetype="response" >
+ <function name="SendLocation" messagetype="response">
</function>
<function name="DialNumber" functionID="DialNumberID" messagetype="request">
<description>Dials a phone number and switches to phone application.</description>
- <param name="number" type="String" maxlength="40">
+ <param name="number" type="String" maxlength="40" mandatory="true">
<description>Phone number is a string, which can be up to 40 chars.</description>
</param>
</function>
<function name="DialNumber" functionID="DialNumberID" messagetype="response">
- <param name="success" type="Boolean" platform="documentation">
- <description>true, if successful</description>
- <description>false, if failed</description>
- </param>
- <param name="resultCode" type="Result" platform="documentation">
- <description>See Result</description>
- <element name="SUCCESS"/>
- <element name="INVALID_DATA"/>
- <element name="OUT_OF_MEMORY"/>
- <element name="TOO_MANY_PENDING_REQUESTS"/>
- <element name="APPLICATION_NOT_REGISTERED"/>
- <element name="GENERIC_ERROR"/>
- <element name="REJECTED"/>
- </param>
- <param name="info" type="String" maxlength="1000" mandatory="false" platform="documentation">
- <description>Provides additional human readable info regarding the result.</description>
- </param>
</function>
<function name="ShowConstantTBT" messagetype="request" provider="hmi">
@@ -3174,6 +3805,27 @@
<description>Current State of TBT client</description>
</param>
</function>
+ <function name="SetVideoConfig" messagetype="request">
+ <description>Request from SDL to HMI to ask whether HMI accepts a video stream with given configuration.</description>
+ <param name="config" type="Common.VideoConfig" mandatory="true">
+ <description>Configuration of a video stream.</description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application related to this RPC.</description>
+ </param>
+ </function>
+ <function name="SetVideoConfig" messagetype="response">
+ <description>
+ Response from HMI to SDL whether the configuration is accepted.
+ In a negative response, a list of rejected parameters are supplied.
+ </description>
+ <param name="rejectedParams" type="String" array="true" minsize="1" maxsize="1000" mandatory="false">
+ <description>
+ List of params of VideoConfig struct which are not accepted by HMI, e.g. "protocol" and "codec".
+ This param exists only when the response is negative.
+ </description>
+ </param>
+ </function>
<function name="StartStream" messagetype="request" provider="hmi">
<description>Request from SmartDeviceLinkCore to HMI to start playing video streaming.</description>
<param name="url" type="String" minlength="21" maxlength="500" mandatory="true">
@@ -3213,18 +3865,54 @@
<function name="StopAudioStream" messagetype="response">
</function>
<function name="OnAudioDataStreaming" messagetype="notification">
- <description>Sender: SDL->HMI. Purpose: notify about raw audio data presence over the URL provided via StartAudioStream SDL's request.</description>
+ <description>Sender: SDL-&gt;HMI. Purpose: notify about raw audio data presence over the URL provided via StartAudioStream SDL's request.</description>
<param name="available" type="Boolean" mandatory="true">
<description>If "true" - audio data started. If "false" - audio data stopped.</description>
</param>
</function>
<function name="OnVideoDataStreaming" messagetype="notification">
- <description>Sender: SDL->HMI. Purpose: notify about raw video data presence over the URL provided via StartStream SDL's request.</description>
+ <description>Sender: SDL-&gt;HMI. Purpose: notify about raw video data presence over the URL provided via StartStream SDL's request.</description>
<param name="available" type="Boolean" mandatory="true">
<description>If "true" - video data started. If "false" - video data stopped.</description>
</param>
</function>
+ <function name="GetWayPoints" functionID="GetWayPointsID" messagetype="request">
+ <description>Request for getting waypoint/destination data.</description>
+ <param name="wayPointType" type="Common.WayPointType" mandatory="true">
+ <description>To request for either the destination only or for all waypoints including destination</description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of the application.</description>
+ </param>
+ </function>
+ <function name="GetWayPoints" functionID="GetWayPointsID" messagetype="response">
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of the application.</description>
+ </param>
+ <param name="wayPoints" type="Common.LocationDetails" mandatory="false" array="true" minsize="1" maxsize="10">
+ <description>See LocationDetails</description>
+ </param>
+ </function>
+ <function name="OnWayPointChange" functionID="OnWayPointChangeID" messagetype="notification">
+ <description>Notification which provides the entire LocationDetails when there is a change to any waypoints or destination.</description>
+ <param name="wayPoints" type="Common.LocationDetails" mandatory="true" array="true" minsize="1" maxsize="10">
+ <description>See LocationDetails</description>
+ </param>
+ </function>
+
+ <function name="SubscribeWayPoints" functionID="SubscribeWayPointsID" messagetype="request">
+ <description>To subscribe in getting changes for Waypoints/destinations</description>
+ </function>
+ <function name="SubscribeWayPoints" functionID="SubscribeWayPointsID" messagetype="response">
+ </function>
+
+ <function name="UnsubscribeWayPoints" functionID="UnsubscribeWayPointsID" messagetype="request">
+ <description>Request to unsubscribe from WayPoints and Destination</description>
+ </function>
+
+ <function name="UnsubscribeWayPoints" functionID="UnsubscribeWayPointsID" messagetype="response">
+ </function>
</interface>
<interface name="VehicleInfo" version="1.0" date="2013-04-21">
@@ -3307,6 +3995,555 @@
</description>
</param>
</function>
+ <function name="SubscribeVehicleData" messagetype="request">
+ <description>
+ Subscribes for specific published data items.
+ The data will be only sent if it has changed.
+ The application will be notified by the onVehicleData notification whenever new data is available.
+ To unsubscribe the notifications, use unsubscribe with the same subscriptionType.
+ </description>
+ <param name="gps" type="Boolean" mandatory="false">
+ <description>See GPSData</description>
+ </param>
+ <param name="speed" type="Boolean" mandatory="false">
+ <description>The vehicle speed in kilometers per hour</description>
+ </param>
+ <param name="rpm" type="Boolean" mandatory="false">
+ <description>The number of revolutions per minute of the engine</description>
+ </param>
+ <param name="fuelLevel" type="Boolean" mandatory="false">
+ <description>The fuel level in the tank (percentage)</description>
+ </param>
+ <param name="fuelLevel_State" type="Boolean" mandatory="false">
+ <description>The fuel level state</description>
+ </param>
+ <param name="instantFuelConsumption" type="Boolean" mandatory="false">
+ <description>The instantaneous fuel consumption in microlitres</description>
+ </param>
+ <param name="externalTemperature" type="Boolean" mandatory="false">
+ <description>The external temperature in degrees celsius</description>
+ </param>
+ <param name="prndl" type="Boolean" mandatory="false">
+ <description>See PRNDL</description>
+ </param>
+ <param name="tirePressure" type="Boolean" mandatory="false">
+ <description>See TireStatus</description>
+ </param>
+ <param name="odometer" type="Boolean" mandatory="false">
+ <description>Odometer in km</description>
+ </param>
+ <param name="beltStatus" type="Boolean" mandatory="false">
+ <description>The status of the seat belts</description>
+ </param>
+ <param name="bodyInformation" type="Boolean" mandatory="false">
+ <description>The body information including power modes</description>
+ </param>
+ <param name="deviceStatus" type="Boolean" mandatory="false">
+ <description>The device status including signal and battery strength</description>
+ </param>
+ <param name="driverBraking" type="Boolean" mandatory="false">
+ <description>The status of the brake pedal</description>
+ </param>
+ <param name="wiperStatus" type="Boolean" mandatory="false">
+ <description>The status of the wipers</description>
+ </param>
+ <param name="headLampStatus" type="Boolean" mandatory="false">
+ <description>Status of the head lamps</description>
+ </param>
+ <param name="engineTorque" type="Boolean" mandatory="false">
+ <description>Torque value for engine (in Nm) on non-diesel variants</description>
+ </param>
+ <param name="accPedalPosition" type="Boolean" mandatory="false">
+ <description>Accelerator pedal position (percentage depressed)</description>
+ </param>
+ <param name="steeringWheelAngle" type="Boolean" mandatory="false">
+ <description>Current angle of the steering wheel (in deg)</description>
+ </param>
+ <!-- Ford Specific Data Items -->
+ <param name="eCallInfo" type="Boolean" mandatory="false">
+ <description>Emergency Call notification and confirmation data</description>
+ </param>
+ <param name="airbagStatus" type="Boolean" mandatory="false">
+ <description>The status of the air bags</description>
+ </param>
+ <param name="emergencyEvent" type="Boolean" mandatory="false">
+ <description>Information related to an emergency event (and if it occurred)</description>
+ </param>
+ <param name="clusterModeStatus" type="Boolean" mandatory="false">
+ <description>The status modes of the cluster</description>
+ </param>
+ <param name="myKey" type="Boolean" mandatory="false">
+ <description>Information related to the MyKey feature</description>
+ </param>
+ <!-- / Ford Specific Data Items -->
+ </function>
+ <function name="SubscribeVehicleData" messagetype="response">
+ <param name="gps" type="Common.VehicleDataResult" mandatory="false">
+ <description>See GPSData</description>
+ </param>
+ <param name="speed" type="Common.VehicleDataResult" mandatory="false">
+ <description>The vehicle speed in kilometers per hour</description>
+ </param>
+ <param name="rpm" type="Common.VehicleDataResult" mandatory="false">
+ <description>The number of revolutions per minute of the engine</description>
+ </param>
+ <param name="fuelLevel" type="Common.VehicleDataResult" mandatory="false">
+ <description>The fuel level in the tank (percentage)</description>
+ </param>
+ <param name="fuelLevel_State" type="Common.VehicleDataResult" mandatory="false">
+ <description>The fuel level state</description>
+ </param>
+ <param name="instantFuelConsumption" type="Common.VehicleDataResult" mandatory="false">
+ <description>The instantaneous fuel consumption in microlitres</description>
+ </param>
+ <param name="externalTemperature" type="Common.VehicleDataResult" mandatory="false">
+ <description>The external temperature in degrees celsius.</description>
+ </param>
+ <param name="prndl" type="Common.VehicleDataResult" mandatory="false">
+ <description>See PRNDL</description>
+ </param>
+ <param name="tirePressure" type="Common.VehicleDataResult" mandatory="false">
+ <description>See TireStatus</description>
+ </param>
+ <param name="odometer" type="Common.VehicleDataResult" mandatory="false">
+ <description>Odometer in km</description>
+ </param>
+ <param name="beltStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the seat belts</description>
+ </param>
+ <param name="bodyInformation" type="Common.VehicleDataResult" mandatory="false">
+ <description>The body information including power modes</description>
+ </param>
+ <param name="deviceStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The device status including signal and battery strength</description>
+ </param>
+ <param name="driverBraking" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the brake pedal</description>
+ </param>
+ <param name="wiperStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the wipers</description>
+ </param>
+ <param name="headLampStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>Status of the head lamps</description>
+ </param>
+ <param name="engineTorque" type="Common.VehicleDataResult" mandatory="false">
+ <description>Torque value for engine (in Nm) on non-diesel variants</description>
+ </param>
+ <param name="accPedalPosition" type="Common.VehicleDataResult" mandatory="false">
+ <description>Accelerator pedal position (percentage depressed)</description>
+ </param>
+ <param name="steeringWheelAngle" type="Common.VehicleDataResult" mandatory="false">
+ <description>Current angle of the steering wheel (in deg)</description>
+ </param>
+ <!-- Ford Specific Data Items -->
+ <param name="eCallInfo" type="Common.VehicleDataResult" mandatory="false">
+ <description>Emergency Call notification and confirmation data</description>
+ </param>
+ <param name="airbagStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the air bags</description>
+ </param>
+ <param name="emergencyEvent" type="Common.VehicleDataResult" mandatory="false">
+ <description>Information related to an emergency event (and if it occurred)</description>
+ </param>
+ <param name="clusterModes" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status modes of the cluster</description>
+ </param>
+ <param name="myKey" type="Common.VehicleDataResult" mandatory="false">
+ <description>Information related to the MyKey feature</description>
+ </param>
+ <!-- / Ford Specific Data Items -->
+ </function>
+ <function name="UnsubscribeVehicleData" messagetype="request">
+ <description>
+ This function is used to unsubscribe the notifications from the subscribeVehicleData function.
+ </description>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of application that requested this RPC.</description>
+ </param>
+ <param name="gps" type="Boolean" mandatory="false">
+ <description>See GPSData</description>
+ </param>
+ <param name="speed" type="Boolean" mandatory="false">
+ <description>The vehicle speed in kilometers per hour</description>
+ </param>
+ <param name="rpm" type="Boolean" mandatory="false">
+ <description>The number of revolutions per minute of the engine</description>
+ </param>
+ <param name="fuelLevel" type="Boolean" mandatory="false">
+ <description>The fuel level in the tank (percentage)</description>
+ </param>
+ <param name="fuelLevel_State" type="Boolean" mandatory="false">
+ <description>The fuel level state</description>
+ </param>
+ <param name="instantFuelConsumption" type="Boolean" mandatory="false">
+ <description>The instantaneous fuel consumption in microlitres</description>
+ </param>
+ <param name="externalTemperature" type="Boolean" mandatory="false">
+ <description>The external temperature in degrees celsius.</description>
+ </param>
+ <param name="prndl" type="Boolean" mandatory="false">
+ <description>See PRNDL</description>
+ </param>
+ <param name="tirePressure" type="Boolean" mandatory="false">
+ <description>See TireStatus</description>
+ </param>
+ <param name="odometer" type="Boolean" mandatory="false">
+ <description>Odometer in km</description>
+ </param>
+ <param name="beltStatus" type="Boolean" mandatory="false">
+ <description>The status of the seat belts</description>
+ </param>
+ <param name="bodyInformation" type="Boolean" mandatory="false">
+ <description>The body information including power modes</description>
+ </param>
+ <param name="deviceStatus" type="Boolean" mandatory="false">
+ <description>The device status including signal and battery strength</description>
+ </param>
+ <param name="driverBraking" type="Boolean" mandatory="false">
+ <description>The status of the brake pedal</description>
+ </param>
+ <param name="wiperStatus" type="Boolean" mandatory="false">
+ <description>The status of the wipers</description>
+ </param>
+ <param name="headLampStatus" type="Boolean" mandatory="false">
+ <description>Status of the head lamps</description>
+ </param>
+ <param name="engineTorque" type="Boolean" mandatory="false">
+ <description>Torque value for engine (in Nm) on non-diesel variants</description>
+ </param>
+ <param name="accPedalPosition" type="Boolean" mandatory="false">
+ <description>Accelerator pedal position (percentage depressed)</description>
+ </param>
+ <param name="steeringWheelAngle" type="Boolean" mandatory="false">
+ <description>Current angle of the steering wheel (in deg)</description>
+ </param>
+ <!-- Ford Specific Data Items -->
+ <param name="eCallInfo" type="Boolean" mandatory="false">
+ <description>Emergency Call notification and confirmation data</description>
+ </param>
+ <param name="airbagStatus" type="Boolean" mandatory="false">
+ <description>The status of the air bags</description>
+ </param>
+ <param name="emergencyEvent" type="Boolean" mandatory="false">
+ <description>Information related to an emergency event (and if it occurred)</description>
+ </param>
+ <param name="clusterModeStatus" type="Boolean" mandatory="false">
+ <description>The status modes of the cluster</description>
+ </param>
+ <param name="myKey" type="Boolean" mandatory="false">
+ <description>Information related to the MyKey feature</description>
+ </param>
+ <!-- / Ford Specific Data Items -->
+ </function>
+ <function name="UnsubscribeVehicleData" messagetype="response">
+ <param name="gps" type="Common.VehicleDataResult" mandatory="false">
+ <description>See GPSData</description>
+ </param>
+ <param name="speed" type="Common.VehicleDataResult" mandatory="false">
+ <description>The vehicle speed in kilometers per hour</description>
+ </param>
+ <param name="rpm" type="Common.VehicleDataResult" mandatory="false">
+ <description>The number of revolutions per minute of the engine</description>
+ </param>
+ <param name="fuelLevel" type="Common.VehicleDataResult" mandatory="false">
+ <description>The fuel level in the tank (percentage)</description>
+ </param>
+ <param name="fuelLevel_State" type="Common.VehicleDataResult" mandatory="false">
+ <description>The fuel level state</description>
+ </param>
+ <param name="instantFuelConsumption" type="Common.VehicleDataResult" mandatory="false">
+ <description>The instantaneous fuel consumption in microlitres</description>
+ </param>
+ <param name="externalTemperature" type="Common.VehicleDataResult" mandatory="false">
+ <description>The external temperature in degrees celsius</description>
+ </param>
+ <param name="prndl" type="Common.VehicleDataResult" mandatory="false">
+ <description>See PRNDL</description>
+ </param>
+ <param name="tirePressure" type="Common.VehicleDataResult" mandatory="false">
+ <description>See TireStatus</description>
+ </param>
+ <param name="odometer" type="Common.VehicleDataResult" mandatory="false">
+ <description>Odometer in km</description>
+ </param>
+ <param name="beltStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the seat belts</description>
+ </param>
+ <param name="bodyInformation" type="Common.VehicleDataResult" mandatory="false">
+ <description>The body information including power modes</description>
+ </param>
+ <param name="deviceStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The device status including signal and battery strength</description>
+ </param>
+ <param name="driverBraking" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the brake pedal</description>
+ </param>
+ <param name="wiperStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the wipers</description>
+ </param>
+ <param name="headLampStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>Status of the head lamps</description>
+ </param>
+ <param name="engineTorque" type="Common.VehicleDataResult" mandatory="false">
+ <description>Torque value for engine (in Nm) on non-diesel variants</description>
+ </param>
+ <param name="accPedalPosition" type="Common.VehicleDataResult" mandatory="false">
+ <description>Accelerator pedal position (percentage depressed)</description>
+ </param>
+ <param name="steeringWheelAngle" type="Common.VehicleDataResult" mandatory="false">
+ <description>Current angle of the steering wheel (in deg)</description>
+ </param>
+ <!-- Ford Specific Data Items -->
+ <param name="eCallInfo" type="Common.VehicleDataResult" mandatory="false">
+ <description>Emergency Call notification and confirmation data</description>
+ </param>
+ <param name="airbagStatus" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status of the air bags</description>
+ </param>
+ <param name="emergencyEvent" type="Common.VehicleDataResult" mandatory="false">
+ <description>Information related to an emergency event (and if it occurred)</description>
+ </param>
+ <param name="clusterModes" type="Common.VehicleDataResult" mandatory="false">
+ <description>The status modes of the cluster</description>
+ </param>
+ <param name="myKey" type="Common.VehicleDataResult" mandatory="false">
+ <description>Information related to the MyKey feature</description>
+ </param>
+ <!-- / Ford Specific Data Items -->
+ </function>
+ <function name="GetVehicleData" messagetype="request">
+ <description>Non periodic vehicle data read request.</description>
+ <param name="gps" type="Boolean" mandatory="false">
+ <description>See GPSData</description>
+ </param>
+ <param name="speed" type="Boolean" mandatory="false">
+ <description>The vehicle speed in kilometers per hour</description>
+ </param>
+ <param name="rpm" type="Boolean" mandatory="false">
+ <description>The number of revolutions per minute of the engine</description>
+ </param>
+ <param name="fuelLevel" type="Boolean" mandatory="false">
+ <description>The fuel level in the tank (percentage)</description>
+ </param>
+ <param name="fuelLevel_State" type="Boolean" mandatory="false">
+ <description>The fuel level state</description>
+ </param>
+ <param name="instantFuelConsumption" type="Boolean" mandatory="false">
+ <description>The instantaneous fuel consumption in microlitres</description>
+ </param>
+ <param name="externalTemperature" type="Boolean" mandatory="false">
+ <description>The external temperature in degrees celsius</description>
+ </param>
+ <param name="vin" type="Boolean" mandatory="false">
+ <description>Vehicle identification number</description>
+ </param>
+ <param name="prndl" type="Boolean" mandatory="false">
+ <description>See PRNDL</description>
+ </param>
+ <param name="tirePressure" type="Boolean" mandatory="false">
+ <description>See TireStatus</description>
+ </param>
+ <param name="odometer" type="Boolean" mandatory="false">
+ <description>Odometer in km</description>
+ </param>
+ <param name="beltStatus" type="Boolean" mandatory="false">
+ <description>The status of the seat belts</description>
+ </param>
+ <param name="bodyInformation" type="Boolean" mandatory="false">
+ <description>The body information including ignition status and internal temp</description>
+ </param>
+ <param name="deviceStatus" type="Boolean" mandatory="false">
+ <description>The device status including signal and battery strength</description>
+ </param>
+ <param name="driverBraking" type="Boolean" mandatory="false">
+ <description>The status of the brake pedal</description>
+ </param>
+ <param name="wiperStatus" type="Boolean" mandatory="false">
+ <description>The status of the wipers</description>
+ </param>
+ <param name="headLampStatus" type="Boolean" mandatory="false">
+ <description>Status of the head lamps</description>
+ </param>
+ <param name="engineTorque" type="Boolean" mandatory="false">
+ <description>Torque value for engine (in Nm) on non-diesel variants</description>
+ </param>
+ <param name="accPedalPosition" type="Boolean" mandatory="false">
+ <description>Accelerator pedal position (percentage depressed)</description>
+ </param>
+ <param name="steeringWheelAngle" type="Boolean" mandatory="false">
+ <description>Current angle of the steering wheel (in deg)</description>
+ </param>
+ <param name="eCallInfo" type="Boolean" mandatory="false">
+ <description>Emergency Call notification and confirmation data</description>
+ </param>
+ <param name="airbagStatus" type="Boolean" mandatory="false">
+ <description>The status of the air bags</description>
+ </param>
+ <param name="emergencyEvent" type="Boolean" mandatory="false">
+ <description>Information related to an emergency event (and if it occurred)</description>
+ </param>
+ <param name="clusterModeStatus" type="Boolean" mandatory="false">
+ <description>The status modes of the cluster</description>
+ </param>
+ <param name="myKey" type="Boolean" mandatory="false">
+ <description>Information related to the MyKey feature</description>
+ </param>
+ </function>
+ <function name="GetVehicleData" messagetype="response">
+ <param name="gps" type="Common.GPSData" mandatory="false">
+ <description>See GPSData</description>
+ </param>
+ <param name="speed" type="Float" minvalue="0" maxvalue="700" mandatory="false">
+ <description>The vehicle speed in kilometers per hour</description>
+ </param>
+ <param name="rpm" type="Integer" minvalue="0" maxvalue="20000" mandatory="false">
+ <description>The number of revolutions per minute of the engine</description>
+ </param>
+ <param name="fuelLevel" type="Float" minvalue="-6" maxvalue="106" mandatory="false">
+ <description>The fuel level in the tank (percentage)</description>
+ </param>
+ <param name="fuelLevel_State" type="Common.ComponentVolumeStatus" mandatory="false">
+ <description>The fuel level state</description>
+ </param>
+ <param name="instantFuelConsumption" type="Float" minvalue="0" maxvalue="25575" mandatory="false">
+ <description>The instantaneous fuel consumption in microlitres</description>
+ </param>
+ <param name="externalTemperature" type="Float" minvalue="-40" maxvalue="100" mandatory="false">
+ <description>The external temperature in degrees celsius</description>
+ </param>
+ <param name="vin" type="String" maxlength="17" mandatory="false">
+ <description>Vehicle identification number</description>
+ </param>
+ <param name="prndl" type="Common.PRNDL" mandatory="false">
+ <description>See PRNDL</description>
+ </param>
+ <param name="tirePressure" type="Common.TireStatus" mandatory="false">
+ <description>See TireStatus</description>
+ </param>
+ <param name="odometer" type="Integer" minvalue="0" maxvalue="17000000" mandatory="false">
+ <description>Odometer in km</description>
+ </param>
+ <param name="beltStatus" type="Common.BeltStatus" mandatory="false">
+ <description>The status of the seat belts</description>
+ </param>
+ <param name="bodyInformation" type="Common.BodyInformation" mandatory="false">
+ <description>The body information including power modes</description>
+ </param>
+ <param name="deviceStatus" type="Common.DeviceStatus" mandatory="false">
+ <description>The device status including signal and battery strength</description>
+ </param>
+ <param name="driverBraking" type="Common.VehicleDataEventStatus" mandatory="false">
+ <description>The status of the brake pedal</description>
+ </param>
+ <param name="wiperStatus" type="Common.WiperStatus" mandatory="false">
+ <description>The status of the wipers</description>
+ </param>
+ <param name="headLampStatus" type="Common.HeadLampStatus" mandatory="false">
+ <description>Status of the head lamps</description>
+ </param>
+ <param name="engineTorque" type="Float" minvalue="-1000" maxvalue="2000" mandatory="false">
+ <description>Torque value for engine (in Nm) on non-diesel variants</description>
+ </param>
+ <param name="accPedalPosition" type="Float" minvalue="0" maxvalue="100" mandatory="false">
+ <description>Accelerator pedal position (percentage depressed)</description>
+ </param>
+ <param name="steeringWheelAngle" type="Float" minvalue="-2000" maxvalue="2000" mandatory="false">
+ <description>Current angle of the steering wheel (in deg)</description>
+ </param>
+ <param name="eCallInfo" type="Common.ECallInfo" mandatory="false">
+ <description>Emergency Call notification and confirmation data</description>
+ </param>
+ <param name="airbagStatus" type="Common.AirbagStatus" mandatory="false">
+ <description>The status of the air bags</description>
+ </param>
+ <param name="emergencyEvent" type="Common.EmergencyEvent" mandatory="false">
+ <description>Information related to an emergency event (and if it occurred)</description>
+ </param>
+ <param name="clusterModeStatus" type="Common.ClusterModeStatus" mandatory="false">
+ <description>The status modes of the cluster</description>
+ </param>
+ <param name="myKey" type="Common.MyKey" mandatory="false">
+ <description>Information related to the MyKey feature</description>
+ </param>
+ </function>
+ <function name="OnVehicleData" messagetype="notification">
+ <description>Callback for the periodic and non periodic vehicle data read function.</description>
+ <param name="gps" type="Common.GPSData" mandatory="false">
+ <description>See GPSData</description>
+ </param>
+ <param name="speed" type="Float" minvalue="0" maxvalue="700" mandatory="false">
+ <description>The vehicle speed in kilometers per hour</description>
+ </param>
+ <param name="rpm" type="Integer" minvalue="0" maxvalue="20000" mandatory="false">
+ <description>The number of revolutions per minute of the engine</description>
+ </param>
+ <param name="fuelLevel" type="Float" minvalue="-6" maxvalue="106" mandatory="false">
+ <description>The fuel level in the tank (percentage)</description>
+ </param>
+ <param name="fuelLevel_State" type="Common.ComponentVolumeStatus" mandatory="false">
+ <description>The fuel level state</description>
+ </param>
+ <param name="instantFuelConsumption" type="Float" minvalue="0" maxvalue="25575" mandatory="false">
+ <description>The instantaneous fuel consumption in microlitres</description>
+ </param>
+ <param name="externalTemperature" type="Float" minvalue="-40" maxvalue="100" mandatory="false">
+ <description>The external temperature in degrees celsius</description>
+ </param>
+ <param name="vin" type="String" maxlength="17" mandatory="false">
+ <description>Vehicle identification number.</description>
+ </param>
+ <param name="prndl" type="Common.PRNDL" mandatory="false">
+ <description>See PRNDL</description>
+ </param>
+ <param name="tirePressure" type="Common.TireStatus" mandatory="false">
+ <description>See TireStatus</description>
+ </param>
+ <param name="odometer" type="Integer" minvalue="0" maxvalue="17000000" mandatory="false">
+ <description>Odometer in km</description>
+ </param>
+ <param name="beltStatus" type="Common.BeltStatus" mandatory="false">
+ <description>The status of the seat belts</description>
+ </param>
+ <param name="bodyInformation" type="Common.BodyInformation" mandatory="false">
+ <description>The body information including power modes</description>
+ </param>
+ <param name="deviceStatus" type="Common.DeviceStatus" mandatory="false">
+ <description>The device status including signal and battery strength</description>
+ </param>
+ <param name="driverBraking" type="Common.VehicleDataEventStatus" mandatory="false">
+ <description>The status of the brake pedal</description>
+ </param>
+ <param name="wiperStatus" type="Common.WiperStatus" mandatory="false">
+ <description>The status of the wipers</description>
+ </param>
+ <param name="headLampStatus" type="Common.HeadLampStatus" mandatory="false">
+ <description>Status of the head lamps</description>
+ </param>
+ <param name="engineTorque" type="Float" minvalue="-1000" maxvalue="2000" mandatory="false">
+ <description>Torque value for engine (in Nm) on non-diesel variants</description>
+ </param>
+ <param name="accPedalPosition" type="Float" minvalue="0" maxvalue="100" mandatory="false">
+ <description>Accelerator pedal position (percentage depressed)</description>
+ </param>
+ <param name="steeringWheelAngle" type="Float" minvalue="-2000" maxvalue="2000" mandatory="false">
+ <description>Current angle of the steering wheel (in deg)</description>
+ </param>
+ <param name="eCallInfo" type="Common.ECallInfo" mandatory="false">
+ <description>Emergency Call notification and confirmation data</description>
+ </param>
+ <param name="airbagStatus" type="Common.AirbagStatus" mandatory="false">
+ <description>The status of the air bags</description>
+ </param>
+ <param name="emergencyEvent" type="Common.EmergencyEvent" mandatory="false">
+ <description>Information related to an emergency event (and if it occurred)</description>
+ </param>
+ <param name="clusterModeStatus" type="Common.ClusterModeStatus" mandatory="false">
+ <description>The status modes of the cluster</description>
+ </param>
+ <param name="myKey" type="Common.MyKey" mandatory="false">
+ <description>Information related to the MyKey feature</description>
+ </param>
+ </function>
<!--Qt HMI version of GetVehicleData-->
<function name="GetGpsData" messagetype="request" provider="hmi">
<param name="appID" type="Integer" mandatory="true">
@@ -4184,8 +5421,97 @@
</function>
<function name="OnDeviceStateChanged" messagetype="notification" scope="internal" provider="hmi">
<param name="deviceState" type="Common.DeviceState" mandatory="true"/>
- <param name="deviceInternalId" type="String" mandatory="true" minlength="0" maxlength="500" />
+ <param name="deviceInternalId" type="String" mandatory="true" minlength="0" maxlength="500"/>
<param name="deviceId" type="Common.DeviceInfo" mandatory="false"/>
</function>
</interface>
-</interfaces>
+<interface name="RC" version="1.1.0" date="2017-07-18">
+ <function name="IsReady" messagetype="request">
+ <description>Method is invoked at system startup. Response should provide information about presence of any of remote controllable module and its readiness to cooperate with SDL.</description>
+ </function>
+ <function name="IsReady" messagetype="response">
+ <param name="available" type="Boolean" mandatory="true">
+ <description>Must be true if vehicle RC modules are present and ready to communicate with SDL.</description>
+ </param>
+ </function>
+
+ <function name="GetCapabilities" messagetype="request">
+ <description>Method is invoked at system startup by SDL to request information about Remote Control capabilities of HMI.</description>
+ </function>
+ <function name="GetCapabilities" messagetype="response">
+ <param name="remoteControlCapability" type="Common.RemoteControlCapabilities" mandatory="false">
+ <description>See RemoteControlCapabilities, all available RC modules and buttons shall be returned.</description>
+ </param>
+ </function>
+
+ <function name="SetInteriorVehicleData" functionID="SetInteriorVehicleDataID" messagetype="request">
+ <param name="moduleData" type="Common.ModuleData" mandatory="true" >
+ <description>The module type and data to set</description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>Internal SDL-assigned ID of the related application</description>
+ </param>
+ </function>
+
+ <function name="SetInteriorVehicleData" messagetype="response">
+ <description>Used to set the values of one zone and one data type within that zone</description>
+ <param name="moduleData" type="Common.ModuleData" mandatory="true" >
+ </param>
+ </function>
+
+<function name="GetInteriorVehicleData" messagetype="request">
+ <param name="moduleType" type="Common.ModuleType" mandatory="true" >
+ <description>The module data to retrieve from the vehicle for that type</description>
+ </param>
+ <param name="subscribe" type="Boolean" mandatory="false" defvalue="false">
+ <description>If subscribe is true, the head unit will send onInteriorVehicleData notifications for the module type</description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>Internal SDL-assigned ID of the related application</description>
+ </param>
+</function>
+
+<function name="GetInteriorVehicleData" messagetype="response">
+ <param name="moduleData" type="Common.ModuleData" mandatory="true" >
+ </param>
+ <param name="isSubscribed" type="Boolean" mandatory="false" >
+ <description>Is a conditional-mandatory parameter: must be returned in case "subscribe" parameter was present in the related request.
+ if "true" - the "moduleType" from request is successfully subscribed and the head unit will send onInteriorVehicleData notifications for the moduleDescription.
+ if "false" - the "moduleType" from request is either unsubscribed or failed to subscribe.</description>
+ </param>
+</function>
+
+<function name="GetInteriorVehicleDataConsent" messagetype="request">
+ <description>Sender: SDL->HMI. </description>
+ <description>HMI is expected to display a permission prompt to the driver showing the RC module and app details (for example, app's name).
+ The driver is expected to have an ability to grant or deny the permission.</description>
+ <param name="moduleType" type="Common.ModuleType" mandatory="true">
+ <description>The module type that the app requests to control.</description>
+ </param>
+ <param name="appID" type="Integer" mandatory="true">
+ <description>ID of the application that triggers the permission prompt.</description>
+ </param>
+ </function>
+ <function name="GetInteriorVehicleDataConsent" messagetype="response">
+ <param name="allowed" type="Boolean" mandatory="true">
+ <description>"true" - if the driver grants the permission for controlling to the named app;
+ "false" - in case the driver denies the permission for controlling to the named app.</description>
+ </param>
+</function>
+
+<function name="OnInteriorVehicleData" messagetype="notification">
+ <param name="moduleData" type="Common.ModuleData" mandatory="true" >
+ </param>
+</function>
+
+<function name="OnRemoteControlSettings" messagetype="notification">
+ <description>Sender: vehicle -> RSDL. Notification about remote-control settings changed. Sent after User`s choice through HMI.</description>
+ <param name="allowed" type="Boolean" mandatory="false" >
+ <description>If "true" - RC is allowed; if "false" - RC is disallowed.</description>
+ </param>
+ <param name="accessMode" type="Common.RCAccessMode" mandatory="false" >
+ <description>The remote control access mode specified by the driver via HMI.</description>
+ </param>
+</function>
+</interface>
+</interfaces> \ No newline at end of file
diff --git a/src/components/rpc_base/test/CMakeLists.txt b/src/components/rpc_base/test/CMakeLists.txt
index 566f0ddcde..ca4f41fe76 100644
--- a/src/components/rpc_base/test/CMakeLists.txt
+++ b/src/components/rpc_base/test/CMakeLists.txt
@@ -34,7 +34,6 @@ include_directories(
${COMPONENTS_DIR}/dbus/include
${COMPONENTS_DIR}/dbus/src
${COMPONENTS_DIR}/rpc_base/include
- ${CMAKE_SOURCE_DIR}/src/3rd_party/dbus-1.7.8
${GMOCK_INCLUDE_DIRECTORY}
${JSONCPP_INCLUDE_DIRECTORY}
)
diff --git a/src/components/rpc_base/test/rpc_base_test.cc b/src/components/rpc_base/test/rpc_base_test.cc
index c4ffbc321e..d81e01db6c 100644
--- a/src/components/rpc_base/test/rpc_base_test.cc
+++ b/src/components/rpc_base/test/rpc_base_test.cc
@@ -320,7 +320,7 @@ TEST(ValidatedTypes, ReportUninitializedIntType) {
ASSERT_FALSE(val.is_valid());
ValidationReport report("val");
val.ReportErrors(&report);
- ASSERT_EQ("val: value is not initialized\n", PrettyFormat(report));
+ ASSERT_EQ("val: value is not initialized", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportIncorrectInitializedIntType) {
@@ -328,7 +328,7 @@ TEST(ValidatedTypes, ReportIncorrectInitializedIntType) {
ASSERT_FALSE(val.is_valid());
ValidationReport report("val");
val.ReportErrors(&report);
- ASSERT_EQ("val: value initialized incorrectly\n", PrettyFormat(report));
+ ASSERT_EQ("val: value initialized incorrectly", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportUninitializedOptionalType) {
@@ -344,7 +344,7 @@ TEST(ValidatedTypes, ReportIncorrectInitializedOptionalType) {
ASSERT_FALSE(val.is_valid());
ValidationReport report("val");
val.ReportErrors(&report);
- ASSERT_EQ("val: value initialized incorrectly\n", PrettyFormat(report));
+ ASSERT_EQ("val: value initialized incorrectly", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportUninitializedNullableIntType) {
@@ -352,7 +352,7 @@ TEST(ValidatedTypes, ReportUninitializedNullableIntType) {
ASSERT_FALSE(val.is_valid());
ValidationReport report("val");
val.ReportErrors(&report);
- ASSERT_EQ("val: value is not initialized\n", PrettyFormat(report));
+ ASSERT_EQ("val: value is not initialized", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportNullInitializedNullableIntType) {
@@ -369,7 +369,7 @@ TEST(ValidatedTypes, ReportNoninitializedIntArray) {
ASSERT_FALSE(array.is_valid());
ValidationReport report("array");
array.ReportErrors(&report);
- ASSERT_EQ("array: object is not initialized\n", PrettyFormat(report));
+ ASSERT_EQ("array: object is not initialized", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportIncorrectlyInitializedIntArray1) {
@@ -378,7 +378,7 @@ TEST(ValidatedTypes, ReportIncorrectlyInitializedIntArray1) {
ASSERT_FALSE(array.is_valid());
ValidationReport report("array");
array.ReportErrors(&report);
- ASSERT_EQ("array[0]: value initialized incorrectly\n", PrettyFormat(report));
+ ASSERT_EQ("array[0]: value initialized incorrectly", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportIncorrectlyInitializedIntArray2) {
@@ -390,7 +390,7 @@ TEST(ValidatedTypes, ReportIncorrectlyInitializedIntArray2) {
ASSERT_FALSE(array.is_valid());
ValidationReport report("array");
array.ReportErrors(&report);
- ASSERT_EQ("array: array has invalid size\n", PrettyFormat(report));
+ ASSERT_EQ("array: array has invalid size", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportIncorrectlyInitializedArray3) {
@@ -403,7 +403,7 @@ TEST(ValidatedTypes, ReportIncorrectlyInitializedArray3) {
array.ReportErrors(&report);
ASSERT_EQ(
"array: array has invalid size\n"
- "array[2]: value initialized incorrectly\n",
+ "array[2]: value initialized incorrectly",
PrettyFormat(report));
}
@@ -411,7 +411,7 @@ TEST(ValidatedTypes, ReportUninitializedMap) {
Map<Integer<int8_t, 1, 10>, 1, 3> map;
ValidationReport report("map");
map.ReportErrors(&report);
- ASSERT_EQ("map: object is not initialized\n", PrettyFormat(report));
+ ASSERT_EQ("map: object is not initialized", PrettyFormat(report));
}
TEST(ValidatedTypes, ReportIncorrectlyInitializedMap1) {
@@ -419,7 +419,7 @@ TEST(ValidatedTypes, ReportIncorrectlyInitializedMap1) {
map["aha"] = 42;
ValidationReport report("map");
map.ReportErrors(&report);
- ASSERT_EQ("map[\"aha\"]: value initialized incorrectly\n",
+ ASSERT_EQ("map[\"aha\"]: value initialized incorrectly",
PrettyFormat(report));
}
@@ -433,7 +433,7 @@ TEST(ValidatedTypes, ReportIncorrectlyInitializedMap2) {
map.ReportErrors(&report);
ASSERT_EQ(
"map[\"haha\"]: value initialized incorrectly\n"
- "map[\"muhahaha\"]: value initialized incorrectly\n",
+ "map[\"muhahaha\"]: value initialized incorrectly",
PrettyFormat(report));
}
diff --git a/src/components/rpc_base/test/validation_report_test.cc b/src/components/rpc_base/test/validation_report_test.cc
index 596bfdb20d..10effe7dd2 100644
--- a/src/components/rpc_base/test/validation_report_test.cc
+++ b/src/components/rpc_base/test/validation_report_test.cc
@@ -75,7 +75,7 @@ class ValidationReportTest : public testing::Test {
} else {
temp = "";
}
- result = parent_name + temp + obj_name + ":" + " " + val_info + "\n";
+ result = parent_name + temp + obj_name + ":" + " " + val_info;
}
void ClearValidationInfo() {
diff --git a/src/components/smart_objects/include/smart_objects/always_false_schema_item.h b/src/components/smart_objects/include/smart_objects/always_false_schema_item.h
index dfbf4ba43e..cdddcfed55 100644
--- a/src/components/smart_objects/include/smart_objects/always_false_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/always_false_schema_item.h
@@ -49,11 +49,20 @@ class CAlwaysFalseSchemaItem : public ISchemaItem {
**/
static utils::SharedPtr<CAlwaysFalseSchemaItem> create();
/**
+ * @deprecated
* @brief Validate smart object.
* @param Object Object to validate.
* @return Errors::ERROR
**/
Errors::eType validate(const SmartObject& Object) OVERRIDE;
+ /**
+ * @brief Validate smart object.
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * @return Errors::ERROR
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
private:
CAlwaysFalseSchemaItem();
diff --git a/src/components/smart_objects/include/smart_objects/always_true_schema_item.h b/src/components/smart_objects/include/smart_objects/always_true_schema_item.h
index 3dd598d7bd..e078ae3240 100644
--- a/src/components/smart_objects/include/smart_objects/always_true_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/always_true_schema_item.h
@@ -49,11 +49,20 @@ class CAlwaysTrueSchemaItem : public ISchemaItem {
**/
static utils::SharedPtr<CAlwaysTrueSchemaItem> create();
/**
+ * @deprecated
* @brief Validate smart object.
* @param Object Object to validate.
* @return NsSmartObjects::Errors::eType
**/
Errors::eType validate(const SmartObject& Object) OVERRIDE;
+ /**
+ * @brief Validate smart object.
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * @return NsSmartObjects::Errors::eType
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
private:
CAlwaysTrueSchemaItem();
diff --git a/src/components/smart_objects/include/smart_objects/array_schema_item.h b/src/components/smart_objects/include/smart_objects/array_schema_item.h
index 0d3a651d56..937979f2fa 100644
--- a/src/components/smart_objects/include/smart_objects/array_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/array_schema_item.h
@@ -63,6 +63,8 @@ class CArraySchemaItem : public ISchemaItem {
TSchemaItemParameter<size_t>());
/**
+ * @deprecated
+ *
* @brief Validate smart object.
*
* @param Object Object to validate.
@@ -72,6 +74,18 @@ class CArraySchemaItem : public ISchemaItem {
Errors::eType validate(const SmartObject& Object) OVERRIDE;
/**
+ * @brief Validate smart object.
+ *
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * message if an error occurs
+ *
+ * @return NsSmartObjects::Errors::eType
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
+
+ /**
* @brief Apply schema.
*
* @param Object Object to apply schema.
diff --git a/src/components/smart_objects/include/smart_objects/default_shema_item.h b/src/components/smart_objects/include/smart_objects/default_shema_item.h
index 857354a4e6..56952dbac1 100644
--- a/src/components/smart_objects/include/smart_objects/default_shema_item.h
+++ b/src/components/smart_objects/include/smart_objects/default_shema_item.h
@@ -50,11 +50,20 @@ class CDefaultSchemaItem : public ISchemaItem {
public:
typedef TSchemaItemParameter<Type> ParameterType;
/**
+ * @deprecated
* @brief Validate smart object.
* @param Object Object to validate.
- * @return NsSmartObjects::Errors::eType
+ * @return Errors::ERROR
**/
Errors::eType validate(const SmartObject& Object) OVERRIDE;
+ /**
+ * @brief Validate smart object.
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * @return Errors::ERROR
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
/**
* @brief Set default value to an object.
@@ -99,8 +108,23 @@ CDefaultSchemaItem<Type>::CDefaultSchemaItem(const ParameterType& DefaultValue)
template <typename Type>
Errors::eType CDefaultSchemaItem<Type>::validate(const SmartObject& Object) {
- return (getSmartType() == Object.getType()) ? Errors::OK
- : Errors::INVALID_VALUE;
+ rpc::ValidationReport report("RPC");
+ return validate(Object, &report);
+}
+
+template <typename Type>
+Errors::eType CDefaultSchemaItem<Type>::validate(
+ const SmartObject& Object, rpc::ValidationReport* report__) {
+ if (getSmartType() != Object.getType()) {
+ std::string validation_info = "Incorrect type, expected: " +
+ SmartObject::typeToString(getSmartType()) +
+ ", got: " +
+ SmartObject::typeToString(Object.getType());
+ report__->set_validation_info(validation_info);
+ return Errors::INVALID_VALUE;
+ } else {
+ return Errors::OK;
+ }
}
template <typename Type>
diff --git a/src/components/smart_objects/include/smart_objects/enum_schema_item.h b/src/components/smart_objects/include/smart_objects/enum_schema_item.h
index a0d6d94017..524d966188 100644
--- a/src/components/smart_objects/include/smart_objects/enum_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/enum_schema_item.h
@@ -65,12 +65,21 @@ class TEnumSchemaItem : public CDefaultSchemaItem<EnumType> {
const TSchemaItemParameter<EnumType>& DefaultValue =
TSchemaItemParameter<EnumType>());
/**
+ * @deprecated
* @brief Validate smart object.
* @param Object Object to validate.
* @return NsSmartObjects::Errors::eType
**/
Errors::eType validate(const SmartObject& Object) OVERRIDE;
/**
+ * @brief Validate smart object.
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * @return NsSmartObjects::Errors::eType
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
+ /**
* @brief Apply schema.
* This implementation checks if enumeration is represented as string
* and tries to convert it to integer according to element-to-string
@@ -207,11 +216,32 @@ utils::SharedPtr<TEnumSchemaItem<EnumType> > TEnumSchemaItem<EnumType>::create(
template <typename EnumType>
Errors::eType TEnumSchemaItem<EnumType>::validate(const SmartObject& Object) {
+ rpc::ValidationReport report("RPC");
+ return validate(Object, &report);
+}
+
+template <typename EnumType>
+Errors::eType TEnumSchemaItem<EnumType>::validate(
+ const SmartObject& Object, rpc::ValidationReport* report__) {
if (SmartType_Integer != Object.getType()) {
+ std::string validation_info;
+ if (SmartType_String == Object.getType()) {
+ validation_info = "Invalid enum value: " + Object.asString();
+ } else {
+ validation_info = "Incorrect type, expected: " +
+ SmartObject::typeToString(SmartType_Integer) +
+ " (enum), got: " +
+ SmartObject::typeToString(Object.getType());
+ }
+ report__->set_validation_info(validation_info);
return Errors::INVALID_VALUE;
}
if (mAllowedElements.find(static_cast<EnumType>(Object.asInt())) ==
mAllowedElements.end()) {
+ std::stringstream stream;
+ stream << "Invalid enum value: " << Object.asInt();
+ std::string validation_info = stream.str();
+ report__->set_validation_info(validation_info);
return Errors::OUT_OF_RANGE;
}
return Errors::OK;
diff --git a/src/components/smart_objects/include/smart_objects/number_schema_item.h b/src/components/smart_objects/include/smart_objects/number_schema_item.h
index 01d6c08daa..d549b9891a 100644
--- a/src/components/smart_objects/include/smart_objects/number_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/number_schema_item.h
@@ -65,11 +65,20 @@ class TNumberSchemaItem : public CDefaultSchemaItem<NumberType> {
TSchemaItemParameter<NumberType>());
/**
+ * @deprecated
* @brief Validate smart object.
* @param Object Object to validate.
- * @return NsSmartObjects::Errors::eType
+ * @return Errors::ERROR
**/
Errors::eType validate(const SmartObject& Object) OVERRIDE;
+ /**
+ * @brief Validate smart object.
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * @return Errors::ERROR
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
private:
/**
@@ -128,7 +137,21 @@ bool TNumberSchemaItem<NumberType>::isValidNumberType(SmartType type) {
template <typename NumberType>
Errors::eType TNumberSchemaItem<NumberType>::validate(
const SmartObject& Object) {
+ rpc::ValidationReport report("RPC");
+ return validate(Object, &report);
+}
+
+template <typename NumberType>
+Errors::eType TNumberSchemaItem<NumberType>::validate(
+ const SmartObject& Object, rpc::ValidationReport* report__) {
if (!isValidNumberType(Object.getType())) {
+ SmartType expectedType = (typeid(double) == typeid(Object.getType()))
+ ? SmartType_Double
+ : SmartType_Integer;
+ std::string validation_info =
+ "Incorrect type, expected: " + SmartObject::typeToString(expectedType) +
+ ", got: " + SmartObject::typeToString(Object.getType());
+ report__->set_validation_info(validation_info);
return Errors::INVALID_VALUE;
}
NumberType value(0);
@@ -148,10 +171,20 @@ Errors::eType TNumberSchemaItem<NumberType>::validate(
NumberType rangeLimit;
if (mMinValue.getValue(rangeLimit) && (value < rangeLimit)) {
+ std::stringstream stream;
+ stream << "Value too small, got: " << value
+ << ", minimum allowed: " << rangeLimit;
+ std::string validation_info = stream.str();
+ report__->set_validation_info(validation_info);
return Errors::OUT_OF_RANGE;
}
if (mMaxValue.getValue(rangeLimit) && (value > rangeLimit)) {
+ std::stringstream stream;
+ stream << "Value too large, got: " << value
+ << ", maximum allowed: " << rangeLimit;
+ std::string validation_info = stream.str();
+ report__->set_validation_info(validation_info);
return Errors::OUT_OF_RANGE;
}
return Errors::OK;
diff --git a/src/components/smart_objects/include/smart_objects/object_schema_item.h b/src/components/smart_objects/include/smart_objects/object_schema_item.h
index 549166e723..8922caba45 100644
--- a/src/components/smart_objects/include/smart_objects/object_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/object_schema_item.h
@@ -84,12 +84,21 @@ class CObjectSchemaItem : public ISchemaItem {
**/
static utils::SharedPtr<CObjectSchemaItem> create(const Members& Members);
/**
+ * @deprecated
* @brief Validate smart object.
* @param Object Object to validate.
* @return NsSmartObjects::Errors::eType
**/
Errors::eType validate(const SmartObject& Object) OVERRIDE;
/**
+ * @brief Validate smart object.
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * @return NsSmartObjects::Errors::eType
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
+ /**
* @brief Apply schema.
* @param Object Object to apply schema.
* @param RemoveFakeParameters contains true if need to remove fake parameters
diff --git a/src/components/smart_objects/include/smart_objects/schema_item.h b/src/components/smart_objects/include/smart_objects/schema_item.h
index 08610f244e..446c7fa65f 100644
--- a/src/components/smart_objects/include/smart_objects/schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/schema_item.h
@@ -34,6 +34,7 @@
#include <stdlib.h>
#include "utils/shared_ptr.h"
+#include "rpc_base/validation_report.h"
#include "smart_objects/errors.h"
@@ -47,13 +48,27 @@ class SmartObject;
class ISchemaItem {
public:
/**
- * @brief Validate object.
+ * @deprecated
+ *
+ * @brief Validate smart object.
+ *
+ * @param Object Object to validate.
+ *
+ * @return NsSmartObjects::Errors::eType
+ **/
+ DEPRECATED virtual Errors::eType validate(const SmartObject& Object);
+
+ /**
+ * @brief Validate smart object.
*
* @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * message if an error occurs
*
* @return NsSmartObjects::Errors::eType
**/
- virtual Errors::eType validate(const SmartObject& Object);
+ virtual Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__);
/**
* @brief Set default value to an object.
diff --git a/src/components/smart_objects/include/smart_objects/smart_object.h b/src/components/smart_objects/include/smart_objects/smart_object.h
index 98e58fffd1..cc2bc7e22c 100644
--- a/src/components/smart_objects/include/smart_objects/smart_object.h
+++ b/src/components/smart_objects/include/smart_objects/smart_object.h
@@ -40,6 +40,7 @@
#include "smart_objects/smart_schema.h"
#include "utils/custom_string.h"
+#include "rpc_base/validation_report.h"
namespace NsSmartDeviceLink {
namespace NsSmartObjects {
@@ -670,11 +671,20 @@ class SmartObject FINAL {
bool isValid() const;
/**
+ * @deprecated
* @brief Validates object according to attached schema.
*
* @return Result of validation.
*/
- Errors::eType validate();
+ DEPRECATED Errors::eType validate();
+
+ /**
+ * @brief Validates object according to attached schema.
+ *
+ * @param report__ object for reporting errors during validation
+ * @return Result of validation.
+ */
+ Errors::eType validate(rpc::ValidationReport* report__);
/**
* @brief Sets new schema
@@ -727,6 +737,35 @@ class SmartObject FINAL {
return !(*this == Other);
}
+ static std::string typeToString(SmartType type) {
+ switch (type) {
+ case SmartType_Null:
+ return "Null";
+ case SmartType_Boolean:
+ return "Boolean";
+ case SmartType_Integer:
+ return "Integer";
+ case SmartType_Character:
+ return "Character";
+ case SmartType_String:
+ return "String";
+ case SmartType_Double:
+ return "Double";
+ case SmartType_Map:
+ return "Object";
+ case SmartType_Array:
+ return "Array";
+ case SmartType_Binary:
+ return "Binary_Data";
+ case SmartType_UInteger:
+ return "Unsigned_Integer";
+ case SmartType_Invalid:
+ return "Invalid_Type";
+ default:
+ return "Unknown_Type";
+ }
+ }
+
protected:
static std::string OperatorToTransform(const SmartMap::value_type& pair);
/**
diff --git a/src/components/smart_objects/include/smart_objects/smart_schema.h b/src/components/smart_objects/include/smart_objects/smart_schema.h
index 52dfa12004..ada5646043 100644
--- a/src/components/smart_objects/include/smart_objects/smart_schema.h
+++ b/src/components/smart_objects/include/smart_objects/smart_schema.h
@@ -61,13 +61,26 @@ class CSmartSchema FINAL {
explicit CSmartSchema(const ISchemaItemPtr SchemaItem);
/**
+ * @deprecated
+ *
* @brief Validate smart object.
*
- * @param Object SmartObject to validate.
+ * @param Object Object to validate.
*
- * @return Result of validation.
- */
- Errors::eType validate(const SmartObject& Object) const;
+ * @return NsSmartObjects::Errors::eType
+ **/
+ DEPRECATED Errors::eType validate(const SmartObject& Object) const;
+
+ /**
+ * @brief Validate smart object.
+ *
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ *
+ * @return NsSmartObjects::Errors::eType
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) const;
/**
* @brief Set new root schema item.
diff --git a/src/components/smart_objects/include/smart_objects/string_schema_item.h b/src/components/smart_objects/include/smart_objects/string_schema_item.h
index 7fad8491a5..6c98dcc3b3 100644
--- a/src/components/smart_objects/include/smart_objects/string_schema_item.h
+++ b/src/components/smart_objects/include/smart_objects/string_schema_item.h
@@ -62,11 +62,20 @@ class CStringSchemaItem : public CDefaultSchemaItem<std::string> {
const TSchemaItemParameter<std::string>& DefaultValue =
TSchemaItemParameter<std::string>());
/**
+ * @deprecated
* @brief Validate smart object.
* @param Object Object to validate.
* @return NsSmartObjects::Errors::eType
**/
Errors::eType validate(const SmartObject& Object) OVERRIDE;
+ /**
+ * @brief Validate smart object.
+ * @param Object Object to validate.
+ * @param report__ object for reporting errors during validation
+ * @return NsSmartObjects::Errors::eType
+ **/
+ Errors::eType validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) OVERRIDE;
private:
/**
diff --git a/src/components/smart_objects/src/always_false_schema_item.cc b/src/components/smart_objects/src/always_false_schema_item.cc
index 59e50e10c2..1893ed24d1 100644
--- a/src/components/smart_objects/src/always_false_schema_item.cc
+++ b/src/components/smart_objects/src/always_false_schema_item.cc
@@ -42,6 +42,13 @@ utils::SharedPtr<CAlwaysFalseSchemaItem> CAlwaysFalseSchemaItem::create() {
}
Errors::eType CAlwaysFalseSchemaItem::validate(const SmartObject& object) {
+ rpc::ValidationReport report("RPC");
+ return validate(object, &report);
+}
+
+Errors::eType CAlwaysFalseSchemaItem::validate(
+ const SmartObject& object, rpc::ValidationReport* report__) {
+ report__->set_validation_info("Generic error");
return Errors::ERROR;
}
} // namespace NsSmartObjects
diff --git a/src/components/smart_objects/src/always_true_schema_item.cc b/src/components/smart_objects/src/always_true_schema_item.cc
index a474b0e157..1e7115316d 100644
--- a/src/components/smart_objects/src/always_true_schema_item.cc
+++ b/src/components/smart_objects/src/always_true_schema_item.cc
@@ -43,5 +43,10 @@ Errors::eType CAlwaysTrueSchemaItem::validate(const SmartObject& object) {
return Errors::OK;
}
+Errors::eType CAlwaysTrueSchemaItem::validate(const SmartObject& object,
+ rpc::ValidationReport* report__) {
+ return Errors::OK;
+}
+
} // namespace NsSmartObjects
} // namespace NsSmartDeviceLink
diff --git a/src/components/smart_objects/src/array_schema_item.cc b/src/components/smart_objects/src/array_schema_item.cc
index 105cacb25c..dca0a815e0 100644
--- a/src/components/smart_objects/src/array_schema_item.cc
+++ b/src/components/smart_objects/src/array_schema_item.cc
@@ -42,22 +42,45 @@ utils::SharedPtr<CArraySchemaItem> CArraySchemaItem::create(
}
Errors::eType CArraySchemaItem::validate(const SmartObject& Object) {
+ rpc::ValidationReport report("RPC");
+ return validate(Object, &report);
+}
+
+Errors::eType CArraySchemaItem::validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) {
if (SmartType_Array != Object.getType()) {
+ std::string validation_info = "Incorrect type, expected: " +
+ SmartObject::typeToString(SmartType_Array) +
+ ", got: " +
+ SmartObject::typeToString(Object.getType());
+ report__->set_validation_info(validation_info);
return Errors::INVALID_VALUE;
}
size_t sizeLimit;
const size_t array_len = Object.length();
if (mMinSize.getValue(sizeLimit) && (array_len < sizeLimit)) {
+ std::stringstream stream;
+ stream << "Got array of size: " << array_len
+ << ", minimum allowed: " << sizeLimit;
+ std::string validation_info = stream.str();
+ report__->set_validation_info(validation_info);
return Errors::OUT_OF_RANGE;
}
if (mMaxSize.getValue(sizeLimit) && (array_len > sizeLimit)) {
+ std::stringstream stream;
+ stream << "Got array of size: " << array_len
+ << ", maximum allowed: " << sizeLimit;
+ std::string validation_info = stream.str();
+ report__->set_validation_info(validation_info);
return Errors::OUT_OF_RANGE;
}
for (size_t i = 0u; i < array_len; ++i) {
- const Errors::eType result =
- mElementSchemaItem->validate(Object.getElement(i));
+ std::stringstream strVal;
+ strVal << i;
+ const Errors::eType result = mElementSchemaItem->validate(
+ Object.getElement(i), &report__->ReportSubobject(strVal.str()));
if (Errors::OK != result) {
return result;
}
diff --git a/src/components/smart_objects/src/object_schema_item.cc b/src/components/smart_objects/src/object_schema_item.cc
index f0c17faaea..2bed3d9a26 100644
--- a/src/components/smart_objects/src/object_schema_item.cc
+++ b/src/components/smart_objects/src/object_schema_item.cc
@@ -57,7 +57,18 @@ utils::SharedPtr<CObjectSchemaItem> CObjectSchemaItem::create(
}
Errors::eType CObjectSchemaItem::validate(const SmartObject& object) {
+ rpc::ValidationReport report("RPC");
+ return validate(object, &report);
+}
+
+Errors::eType CObjectSchemaItem::validate(const SmartObject& object,
+ rpc::ValidationReport* report__) {
if (SmartType_Map != object.getType()) {
+ std::string validation_info = "Incorrect type, expected: " +
+ SmartObject::typeToString(SmartType_Map) +
+ ", got: " +
+ SmartObject::typeToString(object.getType());
+ report__->set_validation_info(validation_info);
return Errors::INVALID_VALUE;
}
@@ -71,12 +82,15 @@ Errors::eType CObjectSchemaItem::validate(const SmartObject& object) {
std::set<std::string>::const_iterator key_it = object_keys.find(key);
if (object_keys.end() == key_it) {
if (member.mIsMandatory) {
+ std::string validation_info = "Missing mandatory parameter: " + key;
+ report__->set_validation_info(validation_info);
return Errors::MISSING_MANDATORY_PARAMETER;
}
continue;
}
const SmartObject& field = object.getElement(key);
- const Errors::eType result = member.mSchemaItem->validate(field);
+ const Errors::eType result =
+ member.mSchemaItem->validate(field, &report__->ReportSubobject(key));
if (Errors::OK != result) {
return result;
}
diff --git a/src/components/smart_objects/src/schema_item.cc b/src/components/smart_objects/src/schema_item.cc
index 8c0bc0edb3..22735d40d5 100644
--- a/src/components/smart_objects/src/schema_item.cc
+++ b/src/components/smart_objects/src/schema_item.cc
@@ -35,7 +35,12 @@
namespace NsSmartDeviceLink {
namespace NsSmartObjects {
-Errors::eType ISchemaItem::validate(const SmartObject& object) {
+Errors::eType ISchemaItem::validate(const SmartObject& Object) {
+ return Errors::ERROR;
+}
+
+Errors::eType ISchemaItem::validate(const SmartObject& object,
+ rpc::ValidationReport* report__) {
return Errors::ERROR;
}
diff --git a/src/components/smart_objects/src/smart_object.cc b/src/components/smart_objects/src/smart_object.cc
index 5c90de5671..a0925eef05 100644
--- a/src/components/smart_objects/src/smart_object.cc
+++ b/src/components/smart_objects/src/smart_object.cc
@@ -869,11 +869,17 @@ bool SmartObject::erase(const std::string& Key) {
}
bool SmartObject::isValid() const {
- return (Errors::OK == m_schema.validate(*this));
+ rpc::ValidationReport report("RPC");
+ return (Errors::OK == m_schema.validate(*this, &report));
}
Errors::eType SmartObject::validate() {
- return m_schema.validate(*this);
+ rpc::ValidationReport report("RPC");
+ return validate(&report);
+}
+
+Errors::eType SmartObject::validate(rpc::ValidationReport* report__) {
+ return m_schema.validate(*this, report__);
}
void SmartObject::setSchema(const CSmartSchema& schema) {
diff --git a/src/components/smart_objects/src/smart_schema.cc b/src/components/smart_objects/src/smart_schema.cc
index be24ceb076..7509ea80f1 100644
--- a/src/components/smart_objects/src/smart_schema.cc
+++ b/src/components/smart_objects/src/smart_schema.cc
@@ -40,8 +40,14 @@ CSmartSchema::CSmartSchema() : mSchemaItem(CAlwaysTrueSchemaItem::create()) {}
CSmartSchema::CSmartSchema(const ISchemaItemPtr SchemaItem)
: mSchemaItem(SchemaItem) {}
-Errors::eType CSmartSchema::validate(const SmartObject& object) const {
- return mSchemaItem->validate(object);
+Errors::eType CSmartSchema::validate(const SmartObject& Object) const {
+ rpc::ValidationReport report("RPC");
+ return validate(Object, &report);
+}
+
+Errors::eType CSmartSchema::validate(const SmartObject& object,
+ rpc::ValidationReport* report__) const {
+ return mSchemaItem->validate(object, report__);
}
void CSmartSchema::setSchemaItem(const ISchemaItemPtr schemaItem) {
diff --git a/src/components/smart_objects/src/string_schema_item.cc b/src/components/smart_objects/src/string_schema_item.cc
index 3fac3a6cde..1e4c8372f0 100644
--- a/src/components/smart_objects/src/string_schema_item.cc
+++ b/src/components/smart_objects/src/string_schema_item.cc
@@ -46,7 +46,18 @@ utils::SharedPtr<CStringSchemaItem> CStringSchemaItem::create(
}
Errors::eType CStringSchemaItem::validate(const SmartObject& Object) {
+ rpc::ValidationReport report("RPC");
+ return validate(Object, &report);
+}
+
+Errors::eType CStringSchemaItem::validate(const SmartObject& Object,
+ rpc::ValidationReport* report__) {
if (SmartType_String != Object.getType()) {
+ std::string validation_info = "Incorrect type, expected: " +
+ SmartObject::typeToString(SmartType_String) +
+ ", got: " +
+ SmartObject::typeToString(Object.getType());
+ report__->set_validation_info(validation_info);
return Errors::INVALID_VALUE;
}
@@ -54,9 +65,19 @@ Errors::eType CStringSchemaItem::validate(const SmartObject& Object) {
size_t length;
if (mMinLength.getValue(length) && (value.size() < length)) {
+ std::stringstream stream;
+ stream << "Got string of size: " << value.size()
+ << ", minimum allowed: " << length;
+ std::string validation_info = stream.str();
+ report__->set_validation_info(validation_info);
return Errors::OUT_OF_RANGE;
}
if (mMaxLength.getValue(length) && (value.size() > length)) {
+ std::stringstream stream;
+ stream << "Got string of size: " << value.size()
+ << ", maximum allowed: " << length;
+ std::string validation_info = stream.str();
+ report__->set_validation_info(validation_info);
return Errors::OUT_OF_RANGE;
}
return Errors::OK;
diff --git a/src/components/smart_objects/test/AlwaysFalseSchemaItem_test.cc b/src/components/smart_objects/test/AlwaysFalseSchemaItem_test.cc
index 85615d4911..9d88178598 100644
--- a/src/components/smart_objects/test/AlwaysFalseSchemaItem_test.cc
+++ b/src/components/smart_objects/test/AlwaysFalseSchemaItem_test.cc
@@ -52,38 +52,39 @@ TEST(test_AlwaysFalseSchemaItemTest, simple_test) {
ISchemaItemPtr item = CAlwaysFalseSchemaItem::create();
obj = 5;
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::ERROR, resultType);
EXPECT_EQ(5, obj.asInt());
obj = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::ERROR, resultType);
EXPECT_TRUE(obj.asBool());
obj = "Test";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::ERROR, resultType);
EXPECT_EQ(std::string("Test"), obj.asString());
obj["First"] = "Some string";
obj["Second"] = 555;
- resultType = item->validate(obj["First"]);
+ resultType = item->validate(obj["First"], &report);
EXPECT_EQ(Errors::ERROR, resultType);
- resultType = item->validate(obj["Second"]);
+ resultType = item->validate(obj["Second"], &report);
EXPECT_EQ(Errors::ERROR, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::ERROR, resultType);
EXPECT_EQ(std::string("Some string"), obj["First"].asString());
EXPECT_EQ(555, obj["Second"].asInt());
obj[0] = true;
obj[1] = false;
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::ERROR, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::ERROR, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::ERROR, resultType);
EXPECT_TRUE(obj[0].asBool());
EXPECT_FALSE(obj[1].asBool());
diff --git a/src/components/smart_objects/test/AlwaysTrueSchemaItem_test.cc b/src/components/smart_objects/test/AlwaysTrueSchemaItem_test.cc
index 7a87108cb0..40c827e17b 100644
--- a/src/components/smart_objects/test/AlwaysTrueSchemaItem_test.cc
+++ b/src/components/smart_objects/test/AlwaysTrueSchemaItem_test.cc
@@ -52,38 +52,39 @@ TEST(test_AlwaysTrueSchemaItemTest, simple_test) {
ISchemaItemPtr item = CAlwaysTrueSchemaItem::create();
obj = 5;
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(5, obj.asInt());
obj = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_TRUE(obj.asBool());
obj = "Test";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(std::string("Test"), obj.asString());
obj["First"] = "Some string";
obj["Second"] = 555;
- resultType = item->validate(obj["First"]);
+ resultType = item->validate(obj["First"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["Second"]);
+ resultType = item->validate(obj["Second"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(std::string("Some string"), obj["First"].asString());
EXPECT_EQ(555, obj["Second"].asInt());
obj[0] = true;
obj[1] = false;
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_TRUE(obj[0].asBool());
EXPECT_FALSE(obj[1].asBool());
diff --git a/src/components/smart_objects/test/ArraySchemaItem_test.cc b/src/components/smart_objects/test/ArraySchemaItem_test.cc
index fa42813f8d..9831f08442 100644
--- a/src/components/smart_objects/test/ArraySchemaItem_test.cc
+++ b/src/components/smart_objects/test/ArraySchemaItem_test.cc
@@ -66,28 +66,29 @@ TEST(test_no_default_value, test_ArraySchemaItemTest) {
EXPECT_FALSE(obj[3][1].asBool());
EXPECT_EQ(std::string("Another String"), obj[3][2].asString());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(Errors::OK, resultType);
item->applySchema(obj, false);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(38, obj[0].asInt());
@@ -101,19 +102,19 @@ TEST(test_no_default_value, test_ArraySchemaItemTest) {
obj = "New valid string";
ASSERT_EQ(std::string("New valid string"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
// Obj - bool
obj = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
// Object - number
obj = 3.1415926;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
}
@@ -137,24 +138,25 @@ TEST(test_item_with_default_value, test_ArraySchemaItemTest) {
EXPECT_EQ(std::string("true"), obj[1].asString());
EXPECT_EQ(std::string("New String"), obj[2].asString());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
item->applySchema(obj, false);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
EXPECT_EQ(std::string("Some String"), obj[0].asString());
@@ -169,14 +171,14 @@ TEST(test_item_with_default_value, test_ArraySchemaItemTest) {
EXPECT_EQ(std::string("false"), obj[3][1].asString());
EXPECT_EQ(std::string("Another String"), obj[3][2].asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(Errors::OK, resultType);
obj[3][3] = "Another very very loooooong String";
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(Errors::OK, resultType);
}
@@ -193,17 +195,18 @@ TEST(test_array_with_min_size, test_ArraySchemaItemTest) {
obj[0] = "Some String";
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
obj[1] = "true";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
obj[2] = "New String";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
EXPECT_EQ(std::string("Some String"), obj[0].asString());
@@ -226,22 +229,23 @@ TEST(test_array_with_max_size, test_ArraySchemaItemTest) {
obj[0] = "Some String";
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
obj[1] = "true";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
obj[2] = "New String";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
obj[3] = "Another String";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
EXPECT_EQ(std::string("Some String"), obj[0].asString());
@@ -265,27 +269,28 @@ TEST(test_array_with_min_and_max_size, test_ArraySchemaItemTest) {
obj[0] = "Some String";
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
obj[1] = "true";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
obj[2] = "New String";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
obj[3] = "Another String";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
obj[4] = "Out of array";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
EXPECT_EQ(std::string("Some String"), obj[0].asString());
@@ -307,29 +312,30 @@ TEST(test_map_validate, test_ArraySchemaItemTest) {
obj["array"][0] = "Some String";
- int resultType = item->validate(obj["array"]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj["array"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
obj["array"][1] = "true";
- resultType = item->validate(obj["array"]);
+ resultType = item->validate(obj["array"], &report);
EXPECT_EQ(Errors::OK, resultType);
obj["array"][2] = "New String";
- resultType = item->validate(obj["array"]);
+ resultType = item->validate(obj["array"], &report);
EXPECT_EQ(Errors::OK, resultType);
obj["array"][3] = "Another String";
- resultType = item->validate(obj["array"]);
+ resultType = item->validate(obj["array"], &report);
EXPECT_EQ(Errors::OK, resultType);
obj["array"][4] = "Out of array";
- resultType = item->validate(obj["array"]);
+ resultType = item->validate(obj["array"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
EXPECT_EQ(std::string("Some String"), obj["array"][0].asString());
diff --git a/src/components/smart_objects/test/BoolSchemaItem_test.cc b/src/components/smart_objects/test/BoolSchemaItem_test.cc
index 8e39af8e08..8d67aa59b2 100644
--- a/src/components/smart_objects/test/BoolSchemaItem_test.cc
+++ b/src/components/smart_objects/test/BoolSchemaItem_test.cc
@@ -63,14 +63,15 @@ TEST(test_no_default_value, test_BoolSchemaItemTest) {
obj = 5;
ASSERT_EQ(5, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
obj = true;
ASSERT_TRUE(obj.asBool());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
@@ -79,12 +80,12 @@ TEST(test_no_default_value, test_BoolSchemaItemTest) {
obj = "Test";
ASSERT_EQ(std::string("Test"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
}
@@ -109,14 +110,15 @@ TEST(test_item_with_default_value, test_BoolSchemaItemTest) {
obj = 5;
ASSERT_EQ(5, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
obj = true;
ASSERT_TRUE(obj.asBool());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
@@ -125,14 +127,14 @@ TEST(test_item_with_default_value, test_BoolSchemaItemTest) {
obj = "Test";
ASSERT_EQ(std::string("Test"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
EXPECT_FALSE(obj.asBool());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
EXPECT_FALSE(obj.asBool());
}
@@ -147,10 +149,11 @@ TEST(test_map_validate, test_BoolSchemaItemTest) {
obj["aa"] = true;
ASSERT_TRUE(obj["aa"].asBool());
- int resultType = item->validate(obj["aa"]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj["aa"], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
@@ -162,11 +165,11 @@ TEST(test_map_validate, test_BoolSchemaItemTest) {
EXPECT_TRUE(resDefault);
EXPECT_FALSE(obj.asBool());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
obj["ind"] = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
}
@@ -182,13 +185,14 @@ TEST(test_array_validate, test_BoolSchemaItemTest) {
ASSERT_TRUE(obj[0].asBool());
ASSERT_FALSE(obj[1].asBool());
- int resultType = item->validate(obj[0]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj[0], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
@@ -200,13 +204,13 @@ TEST(test_array_validate, test_BoolSchemaItemTest) {
EXPECT_FALSE(resDefault);
EXPECT_FALSE(obj[1].asBool());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
obj = false;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
}
diff --git a/src/components/smart_objects/test/CObjectSchemaItem_test.cc b/src/components/smart_objects/test/CObjectSchemaItem_test.cc
index 7dd63ae6eb..523b25a8d8 100644
--- a/src/components/smart_objects/test/CObjectSchemaItem_test.cc
+++ b/src/components/smart_objects/test/CObjectSchemaItem_test.cc
@@ -155,7 +155,9 @@ TEST_F(ObjectSchemaItemTest, validation_correct) {
obj[S_MSG_PARAMS][Keys::INFO] = "0123456789";
obj[S_MSG_PARAMS][Keys::SUCCESS] = true;
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, validation_correct_skip_not_mandatory) {
@@ -167,7 +169,9 @@ TEST_F(ObjectSchemaItemTest, validation_correct_skip_not_mandatory) {
// skip non-mandatory obj[S_MSG_PARAMS][Keys::INFO]
obj[S_MSG_PARAMS][Keys::SUCCESS] = false;
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, validation_invalid_param) {
@@ -175,7 +179,9 @@ TEST_F(ObjectSchemaItemTest, validation_invalid_param) {
obj[S_PARAMS] = "some parameters";
obj[S_MSG_PARAMS] = "some message parameters";
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][S_FUNCTION_ID] = "some function";
obj[S_PARAMS][S_CORRELATION_ID] = "some correlation id";
@@ -183,23 +189,35 @@ TEST_F(ObjectSchemaItemTest, validation_invalid_param) {
obj[S_MSG_PARAMS][Keys::RESULT_CODE] = "some result";
obj[S_MSG_PARAMS][Keys::SUCCESS] = 0xABC;
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][S_FUNCTION_ID] = 1;
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][S_CORRELATION_ID] = -0xFF1;
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][S_PROTOCOL_VERSION] = 2;
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_MSG_PARAMS][Keys::RESULT_CODE] = 1;
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_MSG_PARAMS][Keys::SUCCESS] = false;
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, validation_invalid_not_mandatory_param) {
SmartObject obj;
@@ -211,18 +229,26 @@ TEST_F(ObjectSchemaItemTest, validation_invalid_not_mandatory_param) {
// invalid non-mandatory obj[S_MSG_PARAMS][Keys::INFO]
obj[S_MSG_PARAMS][Keys::INFO] = 0x10;
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
// invalid non-mandatory obj[S_MSG_PARAMS][Keys::INFO]
obj[S_MSG_PARAMS][Keys::INFO] = true;
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
// invalid non-mandatory obj[S_MSG_PARAMS][Keys::INFO]
obj[S_MSG_PARAMS][Keys::INFO] = SmartObject();
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_MSG_PARAMS][Keys::INFO] = "info";
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, validation_missing_mandatory) {
@@ -234,18 +260,29 @@ TEST_F(ObjectSchemaItemTest, validation_missing_mandatory) {
obj[S_MSG_PARAMS][Keys::INFO] = "123";
obj[S_MSG_PARAMS][Keys::SUCCESS] = false;
- EXPECT_EQ(Errors::MISSING_MANDATORY_PARAMETER, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::MISSING_MANDATORY_PARAMETER,
+ schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][S_FUNCTION_ID] = 2;
// S_CORRELATION_ID and S_PROTOCOL_VERSION is still missed
- EXPECT_EQ(Errors::MISSING_MANDATORY_PARAMETER, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::MISSING_MANDATORY_PARAMETER,
+ schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][S_CORRELATION_ID] = 0XFF2;
// S_PROTOCOL_VERSION is still missed
- EXPECT_EQ(Errors::MISSING_MANDATORY_PARAMETER, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::MISSING_MANDATORY_PARAMETER,
+ schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][S_PROTOCOL_VERSION] = 1;
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, validation_unexpected_param) {
@@ -263,15 +300,21 @@ TEST_F(ObjectSchemaItemTest, validation_unexpected_param) {
obj[fake1] = SmartObject(static_cast<int64_t>(0));
// any fake parameter is OK
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
obj[S_PARAMS][fake2] = SmartObject("123");
// any fake parameters are OK
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
obj[S_MSG_PARAMS][fake3] = true;
// any fake parameters are OK
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, validation_unexpected_param_remove) {
@@ -297,7 +340,9 @@ TEST_F(ObjectSchemaItemTest, validation_unexpected_param_remove) {
EXPECT_TRUE(obj.keyExists(fake1));
EXPECT_TRUE(obj[S_PARAMS].keyExists(fake2));
EXPECT_TRUE(obj[S_MSG_PARAMS].keyExists(fake3));
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
// Check apply schema, remove fake parameter
schema_item->applySchema(obj, true);
@@ -310,7 +355,9 @@ TEST_F(ObjectSchemaItemTest, validation_unexpected_param_remove) {
EXPECT_TRUE(obj[S_MSG_PARAMS].keyExists(Keys::RESULT_CODE));
EXPECT_TRUE(obj[S_MSG_PARAMS].keyExists(Keys::INFO));
EXPECT_TRUE(obj[S_MSG_PARAMS].keyExists(Keys::SUCCESS));
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
obj[fake1] = SmartObject(static_cast<int64_t>(0));
obj[S_PARAMS][fake2] = SmartObject("123");
@@ -324,7 +371,9 @@ TEST_F(ObjectSchemaItemTest, validation_unexpected_param_remove) {
EXPECT_FALSE(obj[S_PARAMS].keyExists(fake2));
EXPECT_FALSE(obj[S_MSG_PARAMS].keyExists(fake3));
// Invalide state after enum convertion
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, validation_empty_params) {
@@ -338,14 +387,20 @@ TEST_F(ObjectSchemaItemTest, validation_empty_params) {
obj[S_MSG_PARAMS]["FAKE_PARAM2"] = SmartObject(0x1);
obj[S_MSG_PARAMS]["FAKE_PARAM3"] = SmartObject("2");
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ rpc::ValidationReport report("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
schema_item->applySchema(obj, false);
- EXPECT_EQ(Errors::OK, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(obj, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
schema_item->unapplySchema(obj);
// Invalide state after enum convertion
- EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::INVALID_VALUE, schema_item->validate(obj, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
}
TEST_F(ObjectSchemaItemTest, test_strings_to_enum_conversion) {
@@ -380,10 +435,14 @@ TEST_F(ObjectSchemaItemTest, test_strings_to_enum_conversion) {
object[S_MSG_PARAMS][Keys::RESULT_CODE] = result_type_str;
// S_FUNCTION_ID and RESULT_CODE are not converted to int
- EXPECT_NE(Errors::OK, schema_item->validate(object));
+ rpc::ValidationReport report("RPC");
+ EXPECT_NE(Errors::OK, schema_item->validate(object, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
schema_item->applySchema(object, false);
- EXPECT_EQ(Errors::OK, schema_item->validate(object));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_EQ(Errors::OK, schema_item->validate(object, &report));
+ EXPECT_EQ(std::string(""), rpc::PrettyFormat(report));
// check conversion result
EXPECT_EQ(function_type, object[S_PARAMS][S_FUNCTION_ID].asInt());
@@ -391,7 +450,9 @@ TEST_F(ObjectSchemaItemTest, test_strings_to_enum_conversion) {
schema_item->unapplySchema(object);
// S_FUNCTION_ID and RESULT_CODE are string
- EXPECT_NE(Errors::OK, schema_item->validate(object));
+ report = rpc::ValidationReport("RPC");
+ EXPECT_NE(Errors::OK, schema_item->validate(object, &report));
+ EXPECT_NE(std::string(""), rpc::PrettyFormat(report));
// check conversion result
EXPECT_EQ(function_str, object[S_PARAMS][S_FUNCTION_ID].asString());
diff --git a/src/components/smart_objects/test/EnumSchemaItem_test.cc b/src/components/smart_objects/test/EnumSchemaItem_test.cc
index e5ac013f86..9914167e5a 100644
--- a/src/components/smart_objects/test/EnumSchemaItem_test.cc
+++ b/src/components/smart_objects/test/EnumSchemaItem_test.cc
@@ -92,7 +92,8 @@ TEST_F(EnumSchemaItemTest, test_item_with_default_value) {
// Object - valid enum
obj = TestType::BLUETOOTH_OFF;
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
@@ -101,7 +102,7 @@ TEST_F(EnumSchemaItemTest, test_item_with_default_value) {
// Obj - bool
obj = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
@@ -110,7 +111,7 @@ TEST_F(EnumSchemaItemTest, test_item_with_default_value) {
// Object - number
obj = 3.1415926;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
@@ -119,7 +120,7 @@ TEST_F(EnumSchemaItemTest, test_item_with_default_value) {
// Object - string
obj = "Some string";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
@@ -142,7 +143,8 @@ TEST_F(EnumSchemaItemTest, test_item_without_default_value) {
// Object - valid enum
obj = TestType::BLUETOOTH_OFF;
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
@@ -151,7 +153,7 @@ TEST_F(EnumSchemaItemTest, test_item_without_default_value) {
// Obj - bool
obj = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
@@ -160,7 +162,7 @@ TEST_F(EnumSchemaItemTest, test_item_without_default_value) {
// Object - number
obj = 3.1415926;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
@@ -169,7 +171,7 @@ TEST_F(EnumSchemaItemTest, test_item_without_default_value) {
// Object - string
obj = "Some string";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
@@ -178,12 +180,12 @@ TEST_F(EnumSchemaItemTest, test_item_without_default_value) {
// Object - int in range of enum
obj = 6;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object - int out of enum range
obj = 15;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
}
@@ -199,31 +201,32 @@ TEST_F(EnumSchemaItemTest, test_apply_unapply_schema) {
// Object - valid enum
obj = TestType::BLUETOOTH_OFF;
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
EXPECT_EQ(TestType::FACTORY_DEFAULTS, obj.asInt());
item->unapplySchema(obj);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
EXPECT_EQ(std::string("FACTORY_DEFAULTS"), obj.asString());
item->applySchema(obj, false);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(TestType::FACTORY_DEFAULTS, obj.asInt());
obj = "TOO_MANY_REQUESTS";
item->applySchema(obj, false);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(TestType::TOO_MANY_REQUESTS, obj.asInt());
obj = "ENOUGH_REQUESTS";
item->applySchema(obj, false);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
EXPECT_EQ(std::string("ENOUGH_REQUESTS"), obj.asString());
}
diff --git a/src/components/smart_objects/test/NumberSchemaItem_test.cc b/src/components/smart_objects/test/NumberSchemaItem_test.cc
index c9e183ca4a..0315bcedb3 100644
--- a/src/components/smart_objects/test/NumberSchemaItem_test.cc
+++ b/src/components/smart_objects/test/NumberSchemaItem_test.cc
@@ -61,20 +61,21 @@ TEST(test_int_no_default_value, test_NumberSchemaItemTest) {
obj = 5;
ASSERT_EQ(5, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Obj bool
obj = true;
ASSERT_TRUE(obj.asBool());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
// Set default value
bool resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
EXPECT_TRUE(obj.asBool());
@@ -82,11 +83,11 @@ TEST(test_int_no_default_value, test_NumberSchemaItemTest) {
obj = "Test";
ASSERT_EQ(std::string("Test"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
}
@@ -105,21 +106,22 @@ TEST(test_int_min_value, test_NumberSchemaItemTest) {
obj = 15;
ASSERT_EQ(15, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = 9;
ASSERT_EQ(9, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object int correct
obj = 10;
ASSERT_EQ(10, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
}
@@ -139,21 +141,22 @@ TEST(test_int_max_value, test_NumberSchemaItemTest) {
obj = 749;
ASSERT_EQ(749, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = 750;
ASSERT_EQ(750, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object int correct
obj = -750;
ASSERT_EQ(-750, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
}
@@ -173,28 +176,29 @@ TEST(test_int_min_max_value, test_NumberSchemaItemTest) {
obj = 749;
ASSERT_EQ(749, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = 750;
ASSERT_EQ(750, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object int correct
obj = -949;
ASSERT_EQ(-949, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = -950;
ASSERT_EQ(-950, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
}
@@ -215,44 +219,45 @@ TEST(test_int_correct_default_value, test_NumberSchemaItemTest) {
obj = -12000;
ASSERT_EQ(-12000, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = -12001;
ASSERT_EQ(-12001, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object int correct
obj = 100;
ASSERT_EQ(100, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = 101;
ASSERT_EQ(101, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Set default value
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(-38, obj.asInt());
// Object string
obj = "string";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(-38, obj.asInt());
}
@@ -274,44 +279,45 @@ TEST(test_int_default_value_out_of_range, test_NumberSchemaItemTest) {
obj = 90;
ASSERT_EQ(90, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = 89;
ASSERT_EQ(89, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object int correct
obj = 100;
ASSERT_EQ(100, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object int incorrect
obj = 101;
ASSERT_EQ(101, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Set default value
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
EXPECT_EQ(50, obj.asInt());
// Object string
obj = "string";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
EXPECT_EQ(50, obj.asInt());
}
@@ -331,15 +337,16 @@ TEST(test_int_map_validate, test_NumberSchemaItemTest) {
obj["max"] = 100;
obj["out_of_max"] = 101;
- int resultType = item->validate(obj["min"]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj["min"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["max"]);
+ resultType = item->validate(obj["max"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["out_of_min"]);
+ resultType = item->validate(obj["out_of_min"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj["out_of_max"]);
+ resultType = item->validate(obj["out_of_max"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
// Set default value
@@ -351,13 +358,13 @@ TEST(test_int_map_validate, test_NumberSchemaItemTest) {
EXPECT_TRUE(resDefault);
EXPECT_EQ(-38, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["min"]);
+ resultType = item->validate(obj["min"], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
}
@@ -376,21 +383,22 @@ TEST(test_int_array_validate, test_NumberSchemaItemTest) {
obj[2] = 100;
obj[3] = 101;
- int resultType = item->validate(obj[0]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj[0], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OUT_OF_RANGE,
resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OUT_OF_RANGE,
resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
@@ -402,14 +410,14 @@ TEST(test_int_array_validate, test_NumberSchemaItemTest) {
EXPECT_TRUE(resDefault);
EXPECT_EQ(-38, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
}
@@ -433,20 +441,21 @@ TEST(test_double_no_default_value, test_NumberSchemaItemTest) {
obj = 5.79;
ASSERT_EQ(5.79, obj.asDouble());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Obj bool
obj = true;
ASSERT_TRUE(obj.asBool());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
// Set default value
bool resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
EXPECT_TRUE(obj.asBool());
@@ -454,13 +463,13 @@ TEST(test_double_no_default_value, test_NumberSchemaItemTest) {
obj = "Test";
ASSERT_EQ(std::string("Test"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
// Set default value
resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
}
@@ -479,21 +488,22 @@ TEST(test_double_min_value, test_NumberSchemaItemTest) {
obj = 10.000001;
ASSERT_EQ(10.000001, obj.asDouble());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = 9.999999;
ASSERT_EQ(9.999999, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
/*
//Object int
obj = 10;
ASSERT_EQ(10, obj.asInt());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);*/
}
@@ -513,21 +523,22 @@ TEST(test_double_max_value, test_NumberSchemaItemTest) {
obj = 749.0;
ASSERT_EQ(749.0, obj.asDouble());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = 749.0001;
ASSERT_EQ(749.0001, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object double correct
obj = -750.0;
ASSERT_EQ(-750.0, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
}
@@ -547,28 +558,29 @@ TEST(test_double_min_max_value, test_NumberSchemaItemTest) {
obj = 749.0;
ASSERT_EQ(749.0, obj.asDouble());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = 749.001;
ASSERT_EQ(749.001, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object double correct
obj = -949.0;
ASSERT_EQ(-949.0, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = -949.00001;
ASSERT_EQ(-949.00001, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
}
@@ -589,44 +601,45 @@ TEST(test_double_correct_default_value, test_NumberSchemaItemTest) {
obj = -12000.0;
ASSERT_EQ(-12000.0, obj.asDouble());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = -12000.01;
ASSERT_EQ(-12000.01, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object double correct
obj = 100.0;
ASSERT_EQ(100.0, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = 100.001;
ASSERT_EQ(100.001, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Set default value
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(-38.0, obj.asDouble());
// Object string
obj = "string";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(-38.0, obj.asDouble());
}
@@ -648,44 +661,45 @@ TEST(test_double_default_value_out_of_range, test_NumberSchemaItemTest) {
obj = 90.0;
ASSERT_EQ(90.0, obj.asDouble());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = 89.999;
ASSERT_EQ(89.999, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Object double correct
obj = 100.0;
ASSERT_EQ(100.0, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
// Object double incorrect
obj = 100.001;
ASSERT_EQ(100.001, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
// Set default value
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
EXPECT_EQ(50.0, obj.asDouble());
// Object string
obj = "string";
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
EXPECT_EQ(50.0, obj.asDouble());
}
@@ -705,15 +719,16 @@ TEST(test_double_map_validate, test_NumberSchemaItemTest) {
obj["max"] = 100.0;
obj["out_of_max"] = 100.001;
- int resultType = item->validate(obj["min"]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj["min"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["max"]);
+ resultType = item->validate(obj["max"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["out_of_min"]);
+ resultType = item->validate(obj["out_of_min"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj["out_of_max"]);
+ resultType = item->validate(obj["out_of_max"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
bool resDefault = item->setDefaultValue(obj["aa"]);
@@ -724,13 +739,13 @@ TEST(test_double_map_validate, test_NumberSchemaItemTest) {
EXPECT_TRUE(resDefault);
EXPECT_EQ(-38.0, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["min"]);
+ resultType = item->validate(obj["min"], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
}
@@ -749,21 +764,22 @@ TEST(test_double_array_validate, test_NumberSchemaItemTest) {
obj[2] = 100.0;
obj[3] = 100.000001;
- int resultType = item->validate(obj[0]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj[0], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OUT_OF_RANGE,
resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OUT_OF_RANGE,
resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
@@ -775,14 +791,14 @@ TEST(test_double_array_validate, test_NumberSchemaItemTest) {
EXPECT_TRUE(resDefault);
EXPECT_EQ(-38.0, obj.asDouble());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::OK, resultType);
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(NsSmartDeviceLink::NsSmartObjects::Errors::INVALID_VALUE,
resultType);
}
@@ -799,7 +815,8 @@ TEST(test_int_double_value, test_NumberSchemaItemTest) {
obj = value;
ASSERT_EQ(value, obj.asDouble());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
}
@@ -815,7 +832,8 @@ TEST(test_double_int_value, test_NumberSchemaItemTest) {
obj = value;
ASSERT_EQ(value, obj.asInt());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
}
diff --git a/src/components/smart_objects/test/StringSchemaItem_test.cc b/src/components/smart_objects/test/StringSchemaItem_test.cc
index d19d8518fe..4e4688d354 100644
--- a/src/components/smart_objects/test/StringSchemaItem_test.cc
+++ b/src/components/smart_objects/test/StringSchemaItem_test.cc
@@ -59,7 +59,8 @@ TEST(test_no_default_value, test_StringSchemaItemTest) {
obj = "New valid string";
ASSERT_EQ(std::string("New valid string"), obj.asString());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
@@ -68,7 +69,7 @@ TEST(test_no_default_value, test_StringSchemaItemTest) {
// Obj - bool
obj = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
@@ -77,12 +78,12 @@ TEST(test_no_default_value, test_StringSchemaItemTest) {
// Object - number
obj = 3.1415926;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_FALSE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
EXPECT_EQ(3.1415926, obj.asDouble());
}
@@ -110,7 +111,8 @@ TEST(test_item_with_default_value, test_StringSchemaItemTest) {
obj = "New valid string";
ASSERT_EQ(std::string("New valid string"), obj.asString());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
@@ -119,7 +121,7 @@ TEST(test_item_with_default_value, test_StringSchemaItemTest) {
// Obj - bool
obj = true;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
@@ -128,12 +130,12 @@ TEST(test_item_with_default_value, test_StringSchemaItemTest) {
// Object - number
obj = 3.1415926;
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
EXPECT_EQ(std::string("Default string"), obj.asString());
}
@@ -154,7 +156,8 @@ TEST(test_item_with_max_length, test_StringSchemaItemTest) {
obj = "New valid string";
ASSERT_EQ(std::string("New valid string"), obj.asString());
- int resultType = item->validate(obj);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
bool resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
@@ -164,13 +167,13 @@ TEST(test_item_with_max_length, test_StringSchemaItemTest) {
obj = "New very very loooooong string";
ASSERT_EQ(std::string("New very very loooooong string"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
EXPECT_EQ(std::string("Default string"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
}
@@ -188,19 +191,20 @@ TEST(test_map_validate, test_StringSchemaItemTest) {
obj["bool"] = true;
obj["num"] = 3.14;
- int resultType = item->validate(obj["str"]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj["str"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["long"]);
+ resultType = item->validate(obj["long"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj["bool"]);
+ resultType = item->validate(obj["bool"], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj["num"]);
+ resultType = item->validate(obj["num"], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
bool resDefault = item->setDefaultValue(obj["str"]);
@@ -215,23 +219,23 @@ TEST(test_map_validate, test_StringSchemaItemTest) {
EXPECT_TRUE(resDefault);
EXPECT_EQ(std::string("Default string"), obj["num"].asString());
- resultType = item->validate(obj["str"]);
+ resultType = item->validate(obj["str"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["long"]);
+ resultType = item->validate(obj["long"], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj["bool"]);
+ resultType = item->validate(obj["bool"], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj["num"]);
+ resultType = item->validate(obj["num"], &report);
EXPECT_EQ(Errors::OK, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
EXPECT_EQ(std::string("Default string"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
}
@@ -250,22 +254,23 @@ TEST(test_array_validate, test_StringSchemaItemTest) {
obj[3] = 3.14;
obj[4] = "New valid string";
- int resultType = item->validate(obj[0]);
+ rpc::ValidationReport report("RPC");
+ int resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[4]);
+ resultType = item->validate(obj[4], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
bool resDefault = item->setDefaultValue(obj[0]);
@@ -284,24 +289,24 @@ TEST(test_array_validate, test_StringSchemaItemTest) {
EXPECT_EQ(std::string("Default string"), obj[4].asString());
EXPECT_EQ(std::string("Default string"), obj[5].asString());
- resultType = item->validate(obj[0]);
+ resultType = item->validate(obj[0], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[1]);
+ resultType = item->validate(obj[1], &report);
EXPECT_EQ(Errors::OUT_OF_RANGE, resultType);
- resultType = item->validate(obj[2]);
+ resultType = item->validate(obj[2], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[3]);
+ resultType = item->validate(obj[3], &report);
EXPECT_EQ(Errors::INVALID_VALUE, resultType);
- resultType = item->validate(obj[4]);
+ resultType = item->validate(obj[4], &report);
EXPECT_EQ(Errors::OK, resultType);
- resultType = item->validate(obj[5]);
+ resultType = item->validate(obj[5], &report);
EXPECT_EQ(Errors::OK, resultType);
resDefault = item->setDefaultValue(obj);
EXPECT_TRUE(resDefault);
EXPECT_EQ(std::string("Default string"), obj.asString());
- resultType = item->validate(obj);
+ resultType = item->validate(obj, &report);
EXPECT_EQ(Errors::OK, resultType);
}
diff --git a/src/components/telemetry_monitor/test/CMakeLists.txt b/src/components/telemetry_monitor/test/CMakeLists.txt
index d72b89f0e1..960985e45c 100644
--- a/src/components/telemetry_monitor/test/CMakeLists.txt
+++ b/src/components/telemetry_monitor/test/CMakeLists.txt
@@ -65,7 +65,7 @@ set(LIBRARIES
)
if (BUILD_USB_SUPPORT)
- list(APPEND LIBRARIES Libusb-1.0.16)
+ list(APPEND LIBRARIES libusb-1.0.so)
endif()
if (BUILD_BT_SUPPORT)
diff --git a/src/components/transport_manager/CMakeLists.txt b/src/components/transport_manager/CMakeLists.txt
index 8cd3fe617c..4fa224393d 100644
--- a/src/components/transport_manager/CMakeLists.txt
+++ b/src/components/transport_manager/CMakeLists.txt
@@ -40,7 +40,6 @@ include_directories (
${COMPONENTS_DIR}/resumption/include
${POLICY_GLOBAL_INCLUDE_PATH}/
${JSONCPP_INCLUDE_DIRECTORY}
- ${LIBUSB_INCLUDE_DIRECTORY}
${LOG4CXX_INCLUDE_DIRECTORY}
)
@@ -73,9 +72,7 @@ if(BUILD_USB_SUPPORT)
${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/qnx
${COMPONENTS_DIR}/transport_manager/src/usb/qnx
)
- list(APPEND LIBRARIES
- Libusb-1.0.16
- )
+
elseif(CMAKE_SYSTEM_NAME STREQUAL "QNX")
set(EXCLUDE_PATHS
${COMPONENTS_DIR}/transport_manager/include/transport_manager/usb/libusb
diff --git a/src/components/transport_manager/include/transport_manager/usb/libusb/platform_usb_device.h b/src/components/transport_manager/include/transport_manager/usb/libusb/platform_usb_device.h
index 1aa6881b38..baec1938b1 100644
--- a/src/components/transport_manager/include/transport_manager/usb/libusb/platform_usb_device.h
+++ b/src/components/transport_manager/include/transport_manager/usb/libusb/platform_usb_device.h
@@ -37,7 +37,7 @@
#define SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_USB_LIBUSB_PLATFORM_USB_DEVICE_H_
#include <string>
-#include <libusb/libusb.h>
+#include <libusb-1.0/libusb.h>
namespace transport_manager {
diff --git a/src/components/transport_manager/include/transport_manager/usb/libusb/usb_handler.h b/src/components/transport_manager/include/transport_manager/usb/libusb/usb_handler.h
index b2ebd3a977..bed631ea2e 100644
--- a/src/components/transport_manager/include/transport_manager/usb/libusb/usb_handler.h
+++ b/src/components/transport_manager/include/transport_manager/usb/libusb/usb_handler.h
@@ -36,7 +36,7 @@
#ifndef SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_USB_LIBUSB_USB_HANDLER_H_
#define SRC_COMPONENTS_TRANSPORT_MANAGER_INCLUDE_TRANSPORT_MANAGER_USB_LIBUSB_USB_HANDLER_H_
-#include <libusb/libusb.h>
+#include <libusb-1.0/libusb.h>
#include "transport_manager/transport_adapter/transport_adapter.h"
#include "transport_manager/usb/usb_control_transfer.h"
diff --git a/src/components/transport_manager/src/usb/libusb/usb_connection.cc b/src/components/transport_manager/src/usb/libusb/usb_connection.cc
index 3e59bdf40b..e9ab2bae8e 100644
--- a/src/components/transport_manager/src/usb/libusb/usb_connection.cc
+++ b/src/components/transport_manager/src/usb/libusb/usb_connection.cc
@@ -34,7 +34,7 @@
#include <unistd.h>
#include <iomanip>
-#include <libusb/libusb.h>
+#include <libusb-1.0/libusb.h>
#include <sstream>
diff --git a/src/components/transport_manager/test/CMakeLists.txt b/src/components/transport_manager/test/CMakeLists.txt
index 184d546f15..41aae296ac 100644
--- a/src/components/transport_manager/test/CMakeLists.txt
+++ b/src/components/transport_manager/test/CMakeLists.txt
@@ -59,7 +59,7 @@ set(LIBRARIES
)
if (BUILD_USB_SUPPORT)
- list(APPEND LIBRARIES Libusb-1.0.16)
+ list(APPEND LIBRARIES libusb-1.0.so)
endif()
if (BUILD_BT_SUPPORT)