APPLINK-6562, APPLINK-6563. Initial creation of GetListOfPermissions, GetUserFriendly...
authorAndrey Oleynik <AOleynik@luxoft.com>
Thu, 3 Apr 2014 07:09:20 +0000 (10:09 +0300)
committerJustin Dickow <jjdickow@gmail.com>
Tue, 8 Jul 2014 22:45:06 +0000 (18:45 -0400)
Signed-off-by: Justin Dickow <jjdickow@gmail.com>
Conflicts:
src/components/application_manager/src/hmi_command_factory.cc

src/components/application_manager/CMakeLists.txt
src/components/application_manager/include/application_manager/commands/hmi/sdl_get_list_of_permissions_request.h [new file with mode: 0644]
src/components/application_manager/include/application_manager/commands/hmi/sdl_get_list_of_permissions_response.h [new file with mode: 0644]
src/components/application_manager/include/application_manager/commands/hmi/sdl_get_user_friendly_message_request.h [new file with mode: 0644]
src/components/application_manager/include/application_manager/commands/hmi/sdl_get_user_friendly_message_response.h [new file with mode: 0644]
src/components/application_manager/src/commands/hmi/sdl_get_list_of_permissions_request.cc [new file with mode: 0644]
src/components/application_manager/src/commands/hmi/sdl_get_list_of_permissions_response.cc [new file with mode: 0644]
src/components/application_manager/src/commands/hmi/sdl_get_user_friendly_message_request.cc [new file with mode: 0644]
src/components/application_manager/src/commands/hmi/sdl_get_user_friendly_message_response.cc [new file with mode: 0644]
src/components/application_manager/src/hmi_command_factory.cc

index bc26942..685d5c0 100644 (file)
@@ -184,6 +184,10 @@ set (HMI_COMMANDS_SOURCES
 ./src/commands/hmi/update_sdl_response.cc
 ./src/commands/hmi/activate_app_request.cc
 ./src/commands/hmi/activate_app_response.cc
+./src/commands/hmi/sdl_get_list_of_permissions_request.cc
+./src/commands/hmi/sdl_get_list_of_permissions_response.cc
+./src/commands/hmi/sdl_get_user_friendly_message_request.cc
+./src/commands/hmi/sdl_get_user_friendly_message_response.cc
 ./src/commands/hmi/sdl_activate_app_response.cc
 ./src/commands/hmi/sdl_activate_app_request.cc
 ./src/commands/hmi/mixing_audio_supported_request.cc
diff --git a/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_list_of_permissions_request.h b/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_list_of_permissions_request.h
new file mode 100644 (file)
index 0000000..5da473b
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * 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.
+ */
+
+#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_LIST_OF_PERMISSIONS_REQUEST_H_
+#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_LIST_OF_PERMISSIONS_REQUEST_H_
+
+#include "application_manager/commands/hmi/request_from_hmi.h"
+
+namespace application_manager {
+
+namespace commands {
+
+/**
+ * @brief SDLGetListOfPermissionsRequest command class
+ **/
+class SDLGetListOfPermissionsRequest : public RequestFromHMI {
+  public:
+    /**
+     * @brief SDLGetListOfPermissionsRequest class constructor
+     *
+     * @param message Incoming SmartObject message
+     **/
+    explicit SDLGetListOfPermissionsRequest(const MessageSharedPtr& message);
+
+    /**
+     * @brief SDLGetListOfPermissionsRequest class destructor
+     **/
+    virtual ~SDLGetListOfPermissionsRequest();
+
+    /**
+     * @brief Execute command
+     **/
+    virtual void Run();
+
+  private:
+    DISALLOW_COPY_AND_ASSIGN(SDLGetListOfPermissionsRequest);
+};
+
+}  // namespace commands
+}  // namespace application_manager
+
+#endif  //  SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_LIST_OF_PERMISSIONS_REQUEST_H_
diff --git a/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_list_of_permissions_response.h b/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_list_of_permissions_response.h
new file mode 100644 (file)
index 0000000..5de9fc0
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+
+#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_LIST_OF_PERMISSIONS_RESPONSE_H_
+#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_LIST_OF_PERMISSIONS_RESPONSE_H_
+
+#include "application_manager/commands/hmi/response_to_hmi.h"
+
+namespace application_manager {
+
+namespace commands {
+
+/**
+ * @brief SDLGetListOfPermissionsResponse command class
+ **/
+class SDLGetListOfPermissionsResponse : public ResponseToHMI {
+  public:
+    /**
+     * @brief SDLGetListOfPermissionsResponse class constructor
+     *
+     * @param message Incoming SmartObject message
+     **/
+    explicit SDLGetListOfPermissionsResponse(const MessageSharedPtr& message);
+
+    /**
+     * @brief SDLGetListOfPermissionsResponse class destructor
+     **/
+    virtual ~SDLGetListOfPermissionsResponse();
+
+    /**
+     * @brief Execute command
+     **/
+    virtual void Run();
+
+  private:
+    DISALLOW_COPY_AND_ASSIGN(SDLGetListOfPermissionsResponse);
+};
+
+}  // namespace commands
+
+}  // namespace application_manager
+
+#endif  //  SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_LIST_OF_PERMISSIONS_RESPONSE_H_
diff --git a/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_user_friendly_message_request.h b/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_user_friendly_message_request.h
new file mode 100644 (file)
index 0000000..b729a16
--- /dev/null
@@ -0,0 +1,71 @@
+/**
+ * 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.
+ */
+
+#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_USER_FRIENDLY_MESSAGE_REQUEST_H_
+#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_USER_FRIENDLY_MESSAGE_REQUEST_H_
+
+#include "application_manager/commands/hmi/request_from_hmi.h"
+
+namespace application_manager {
+
+namespace commands {
+
+/**
+ * @brief SDLGetUserFriendlyMessageRequest command class
+ **/
+class SDLGetUserFriendlyMessageRequest : public RequestFromHMI {
+  public:
+    /**
+     * @brief SDLGetUserFriendlyMessageRequest class constructor
+     *
+     * @param message Incoming SmartObject message
+     **/
+    explicit SDLGetUserFriendlyMessageRequest(const MessageSharedPtr& message);
+
+    /**
+     * @brief SDLGetUserFriendlyMessageRequest class destructor
+     **/
+    virtual ~SDLGetUserFriendlyMessageRequest();
+
+    /**
+     * @brief Execute command
+     **/
+    virtual void Run();
+
+  private:
+    DISALLOW_COPY_AND_ASSIGN(SDLGetUserFriendlyMessageRequest);
+};
+
+}  // namespace commands
+}  // namespace application_manager
+
+#endif  //  SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_USER_FRIENDLY_MESSAGE_REQUEST_H_
diff --git a/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_user_friendly_message_response.h b/src/components/application_manager/include/application_manager/commands/hmi/sdl_get_user_friendly_message_response.h
new file mode 100644 (file)
index 0000000..bb7a7f8
--- /dev/null
@@ -0,0 +1,72 @@
+/**
+ * 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.
+ */
+
+#ifndef SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_USER_FRIENDLY_MESSAGE_RESPONSE_H_
+#define SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_USER_FRIENDLY_MESSAGE_RESPONSE_H_
+
+#include "application_manager/commands/hmi/response_to_hmi.h"
+
+namespace application_manager {
+
+namespace commands {
+
+/**
+ * @brief SDLGetUserFriendlyMessageResponse command class
+ **/
+class SDLGetUserFriendlyMessageResponse : public ResponseToHMI {
+  public:
+    /**
+     * @brief SDLGetUserFriendlyMessageResponse class constructor
+     *
+     * @param message Incoming SmartObject message
+     **/
+    explicit SDLGetUserFriendlyMessageResponse(const MessageSharedPtr& message);
+
+    /**
+     * @brief SDLGetUserFriendlyMessageResponse class destructor
+     **/
+    virtual ~SDLGetUserFriendlyMessageResponse();
+
+    /**
+     * @brief Execute command
+     **/
+    virtual void Run();
+
+  private:
+    DISALLOW_COPY_AND_ASSIGN(SDLGetUserFriendlyMessageResponse);
+};
+
+}  // namespace commands
+
+}  // namespace application_manager
+
+#endif  //  SRC_COMPONENTS_APPLICATION_MANAGER_INCLUDE_APPLICATION_MANAGER_COMMANDS_HMI_GET_USER_FRIENDLY_MESSAGE_RESPONSE_H_
diff --git a/src/components/application_manager/src/commands/hmi/sdl_get_list_of_permissions_request.cc b/src/components/application_manager/src/commands/hmi/sdl_get_list_of_permissions_request.cc
new file mode 100644 (file)
index 0000000..c4bd099
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * 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 "application_manager/commands/hmi/sdl_get_list_of_permissions_request.h"
+
+namespace application_manager {
+
+namespace commands {
+
+SDLGetListOfPermissionsRequest::SDLGetListOfPermissionsRequest(const MessageSharedPtr& message)
+    : RequestFromHMI(message) {
+}
+
+SDLGetListOfPermissionsRequest::~SDLGetListOfPermissionsRequest() {
+}
+
+void SDLGetListOfPermissionsRequest::Run() {
+  LOG4CXX_INFO(logger_, "SDLGetListOfPermissionsRequest::Run");
+}
+
+}  // namespace commands
+}  // namespace application_manager
+
+
diff --git a/src/components/application_manager/src/commands/hmi/sdl_get_list_of_permissions_response.cc b/src/components/application_manager/src/commands/hmi/sdl_get_list_of_permissions_response.cc
new file mode 100644 (file)
index 0000000..1c1c43c
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * 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 "application_manager/commands/hmi/sdl_get_list_of_permissions_response.h"
+
+namespace application_manager {
+
+namespace commands {
+
+SDLGetListOfPermissionsResponse::SDLGetListOfPermissionsResponse(
+  const MessageSharedPtr& message): ResponseToHMI(message) {
+}
+
+SDLGetListOfPermissionsResponse::~SDLGetListOfPermissionsResponse() {
+}
+
+void SDLGetListOfPermissionsResponse::Run() {
+  LOG4CXX_INFO(logger_, "SDLGetListOfPermissionsResponse::Run");
+}
+
+}  // namespace commands
+}  // namespace application_manager
+
+
diff --git a/src/components/application_manager/src/commands/hmi/sdl_get_user_friendly_message_request.cc b/src/components/application_manager/src/commands/hmi/sdl_get_user_friendly_message_request.cc
new file mode 100644 (file)
index 0000000..41f2470
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * 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 "application_manager/commands/hmi/sdl_get_user_friendly_message_request.h"
+
+namespace application_manager {
+
+namespace commands {
+
+SDLGetUserFriendlyMessageRequest::SDLGetUserFriendlyMessageRequest(const MessageSharedPtr& message)
+    : RequestFromHMI(message) {
+}
+
+SDLGetUserFriendlyMessageRequest::~SDLGetUserFriendlyMessageRequest() {
+}
+
+void SDLGetUserFriendlyMessageRequest::Run() {
+  LOG4CXX_INFO(logger_, "SDLGetUserFriendlyMessageRequest::Run");
+}
+
+}  // namespace commands
+}  // namespace application_manager
+
+
diff --git a/src/components/application_manager/src/commands/hmi/sdl_get_user_friendly_message_response.cc b/src/components/application_manager/src/commands/hmi/sdl_get_user_friendly_message_response.cc
new file mode 100644 (file)
index 0000000..45cdd46
--- /dev/null
@@ -0,0 +1,53 @@
+/**
+ * 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 "application_manager/commands/hmi/sdl_get_user_friendly_message_response.h"
+
+namespace application_manager {
+
+namespace commands {
+
+SDLGetUserFriendlyMessageResponse::SDLGetUserFriendlyMessageResponse(
+  const MessageSharedPtr& message): ResponseToHMI(message) {
+}
+
+SDLGetUserFriendlyMessageResponse::~SDLGetUserFriendlyMessageResponse() {
+}
+
+void SDLGetUserFriendlyMessageResponse::Run() {
+  LOG4CXX_INFO(logger_, "SDLGetUserFriendlyMessageResponse::Run");
+}
+
+}  // namespace commands
+}  // namespace application_manager
+
+
index 8ad5d6d..8689141 100644 (file)
 #include "application_manager/commands/hmi/allow_all_apps_response.h"
 #include "application_manager/commands/hmi/allow_app_request.h"
 #include "application_manager/commands/hmi/allow_app_response.h"
+#include "application_manager/commands/hmi/sdl_get_list_of_permissions_request.h"
+#include "application_manager/commands/hmi/sdl_get_list_of_permissions_response.h"
+#include "application_manager/commands/hmi/sdl_get_user_friendly_message_request.h"
+#include "application_manager/commands/hmi/sdl_get_user_friendly_message_response.h"
+#include "application_manager/commands/hmi/update_sdl_request.h"
+#include "application_manager/commands/hmi/update_sdl_response.h"
 #include "application_manager/commands/hmi/activate_app_request.h"
 #include "application_manager/commands/hmi/activate_app_response.h"
 #include "application_manager/commands/hmi/mixing_audio_supported_request.h"
 #include "application_manager/commands/hmi/mixing_audio_supported_response.h"
+#include "application_manager/commands/hmi/on_allow_sdl_functionality_notification.h"
+#include "application_manager/commands/hmi/on_app_permission_changed_notification.h"
 #include "application_manager/commands/hmi/on_app_activated_notification.h"
+#include "application_manager/commands/hmi/on_sdl_consent_needed_notification.h"
 #include "application_manager/commands/hmi/on_exit_all_applications_notification.h"
 #include "application_manager/commands/hmi/on_exit_application_notification.h"
 #include "application_manager/commands/hmi/on_put_file_notification.h"
+#include "application_manager/commands/hmi/on_ignition_cycle_over_notification.h"
 #include "application_manager/commands/hmi/close_popup_request.h"
 #include "application_manager/commands/hmi/close_popup_response.h"
 #include "application_manager/commands/hmi/button_get_capabilities_request.h"
 #include "application_manager/commands/hmi/vi_is_ready_response.h"
 #include "application_manager/commands/hmi/vi_read_did_request.h"
 #include "application_manager/commands/hmi/vi_read_did_response.h"
+#include "application_manager/commands/hmi/sdl_activate_app_request.h"
+#include "application_manager/commands/hmi/sdl_activate_app_response.h"
 
 #ifdef HMI_JSON_API
 #include "application_manager/commands/hmi/vi_get_vehicle_data_request.h"
@@ -235,14 +247,14 @@ log4cxx::LoggerPtr HMICommandFactory::logger_ = log4cxx::LoggerPtr(
 #endif // ENABLE_LOG
 
 CommandSharedPtr HMICommandFactory::CreateCommand(
-    const MessageSharedPtr& message) {
+  const MessageSharedPtr& message) {
   const int function_id = (*message)[strings::params][strings::function_id]
-      .asInt();
+                          .asInt();
   LOG4CXX_INFO(logger_,
                "HMICommandFactory::CreateCommand function_id: " << function_id);
 
   CommandSharedPtr command(
-      new application_manager::commands::CommandImpl(message));
+    new application_manager::commands::CommandImpl(message));
 
   bool is_response = false;
   if ((*message)[strings::params][strings::message_type]
@@ -250,7 +262,7 @@ CommandSharedPtr HMICommandFactory::CreateCommand(
     is_response = true;
     LOG4CXX_INFO(logger_, "HMICommandFactory::CreateCommand response");
   } else if ((*message)[strings::params][strings::message_type]
-      == static_cast<int>(application_manager::MessageType::kErrorResponse)) {
+             == static_cast<int>(application_manager::MessageType::kErrorResponse)) {
     is_response = true;
     LOG4CXX_INFO(logger_, "HMICommandFactory::CreateCommand error response");
   } else {
@@ -270,27 +282,35 @@ CommandSharedPtr HMICommandFactory::CreateCommand(
       }
       break;
     }
-    case hmi_apis::FunctionID::BasicCommunication_AllowAllApps: {
+    case hmi_apis::FunctionID::BasicCommunication_ActivateApp: {
       if (is_response) {
-        command.reset(new commands::AllowAllAppsResponse(message));
+        command.reset(new commands::ActivateAppResponse(message));
       } else {
-        command.reset(new commands::AllowAllAppsRequest(message));
+        command.reset(new commands::ActivateAppRequest(message));
       }
       break;
     }
-    case hmi_apis::FunctionID::BasicCommunication_AllowApp: {
+    case hmi_apis::FunctionID::SDL_ActivateApp: {
       if (is_response) {
-        command.reset(new commands::AllowAppResponse(message));
+        command.reset(new commands::SDLActivateAppResponse(message));
       } else {
-        command.reset(new commands::AllowAppRequest(message));
+        command.reset(new commands::SDLActivateAppRequest(message));
       }
       break;
     }
-    case hmi_apis::FunctionID::BasicCommunication_ActivateApp: {
+    case hmi_apis::FunctionID::SDL_GetListOfPermissions: {
       if (is_response) {
-        command.reset(new commands::ActivateAppResponse(message));
+        command.reset(new commands::SDLGetListOfPermissionsResponse(message));
       } else {
-        command.reset(new commands::ActivateAppRequest(message));
+        command.reset(new commands::SDLGetListOfPermissionsRequest(message));
+      }
+      break;
+    }
+    case hmi_apis::FunctionID::SDL_GetUserFriendlyMessage: {
+      if (is_response) {
+        command.reset(new commands::SDLGetUserFriendlyMessageResponse(message));
+      } else {
+        command.reset(new commands::SDLGetUserFriendlyMessageRequest(message));
       }
       break;
     }
@@ -619,299 +639,299 @@ CommandSharedPtr HMICommandFactory::CreateCommand(
       break;
     }
 #ifdef HMI_JSON_API
-      case hmi_apis::FunctionID::VehicleInfo_GetVehicleData: {
-        if (is_response) {
-          command.reset(new commands::VIGetVehicleDataResponse(message));
-        } else {
-          command.reset(new commands::VIGetVehicleDataRequest(message));
-        }
-        break;
+    case hmi_apis::FunctionID::VehicleInfo_GetVehicleData: {
+      if (is_response) {
+        command.reset(new commands::VIGetVehicleDataResponse(message));
+      } else {
+        command.reset(new commands::VIGetVehicleDataRequest(message));
       }
+      break;
+    }
 #endif // #ifdef HMI_JSON_API
 #ifdef HMI_DBUS_API
     case hmi_apis::FunctionID::VehicleInfo_GetGpsData: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetGpsData>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetGpsData > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetGpsData>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetGpsData > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetSpeed: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetSpeed>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetSpeed > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetSpeed>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetSpeed > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetRpm: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetRpm>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetRpm > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetRpm>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetRpm > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetFuelLevel: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetFuelLevel>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetFuelLevel > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetFuelLevel>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetFuelLevel > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetFuelLevelState: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetFuelLevelState>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetFuelLevelState > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetFuelLevelState>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetFuelLevelState > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetInstantFuelConsumption: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetInstantFuelConsumption>(
-                message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetInstantFuelConsumption > (
+            message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetInstantFuelConsumption>(
-                message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetInstantFuelConsumption > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetExternalTemperature: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetExternalTemperature>(
-                message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetExternalTemperature > (
+            message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetExternalTemperature>(
-                message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetExternalTemperature > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetPrndl: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetPrndl>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetPrndl > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetPrndl>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetPrndl > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetVin: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetVin>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetVin > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetVin>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetVin > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetTirePressure: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetTirePressure>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetTirePressure > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetTirePressure>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetTirePressure > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetOdometer: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetOdometer>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetOdometer > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetOdometer>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetOdometer > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetBeltStatus: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetBeltStatus>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetBeltStatus > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetBeltStatus>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetBeltStatus > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetBodyInformation: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetBodyInformation>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetBodyInformation > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetBodyInformation>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetBodyInformation > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetDeviceStatus: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetDeviceStatus>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetDeviceStatus > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetDeviceStatus>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetDeviceStatus > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetDriverBraking: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetDriverBraking>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetDriverBraking > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetDriverBraking>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetDriverBraking > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetWiperStatus: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetWiperStatus>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetWiperStatus > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetWiperStatus>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetWiperStatus > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetHeadLampStatus: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetHeadLampStatus>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetHeadLampStatus > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetHeadLampStatus>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetHeadLampStatus > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetEngineTorque: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetEngineTorque>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetEngineTorque > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetEngineTorque>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetEngineTorque > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetAccPedalPosition: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetAccPedalPosition>(
-                message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetAccPedalPosition > (
+            message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetAccPedalPosition>(
-                message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetAccPedalPosition > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetSteeringWheelAngle: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetSteeringWheelAngle>(
-                message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetSteeringWheelAngle > (
+            message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetSteeringWheelAngle>(
-                message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetSteeringWheelAngle > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetECallInfo: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetECallInfo>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetECallInfo > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetECallInfo>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetECallInfo > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetAirbagStatus: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetAirbagStatus>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetAirbagStatus > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetAirbagStatus>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetAirbagStatus > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetEmergencyEvent: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetEmergencyEvent>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetEmergencyEvent > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetEmergencyEvent>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetEmergencyEvent > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetClusterModeStatus: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetClusterModeStatus>(
-                message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetClusterModeStatus > (
+            message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetClusterModeStatus>(
-                message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetClusterModeStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_GetMyKey: {
       if (is_response)
         command.reset(
-            new commands::VIGetVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetMyKey>(message));
+          new commands::VIGetVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetMyKey > (message));
       else
         command.reset(
-            new commands::VIGetVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_GetMyKey>(message));
+          new commands::VIGetVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_GetMyKey > (message));
       break;
     }
 #endif // #ifdef HMI_DBUS_API
@@ -979,6 +999,35 @@ CommandSharedPtr HMICommandFactory::CreateCommand(
       }
       break;
     }
+    case hmi_apis::FunctionID::SDL_OnAllowSDLFunctionality: {
+      command.reset(new commands::OnAllowSDLFunctionalityNotification(message));
+      break;
+    }
+    case hmi_apis::FunctionID::SDL_OnSDLConsentNeeded: {
+      command.reset(new commands::OnSDLConsentNeededNotification(message));
+      break;
+    }
+    /*
+    case hmi_apis::FunctionID::SDL_UpdateSDL: {
+    if (is_response) {
+    command.reset(new commands::UpdateSDLResponse(message));
+    } else {
+    command.reset(new commands::UpdateSDLRequest(message));
+    }
+    break;
+    }
+    case hmi_apis::FunctionID::BasicCommunication_OnAppPermissionChanged: {
+    command.reset(new commands::OnAppPermissionChangedNotification(message));
+    break;
+    }
+    case hmi_apis::FunctionID::BasicCommunication_OnAllowApp: {
+    command.reset(new commands::OnAllowAppNotification(message));
+    break;
+    }*/
+    case hmi_apis::FunctionID::BasicCommunication_OnIgnitionCycleOver: {
+      command.reset(new commands::OnIgnitionCycleOverNotification(message));
+      break;
+    }
     case hmi_apis::FunctionID::BasicCommunication_PlayTone: {
       command.reset(new commands::OnPlayToneNotification(message));
       break;
@@ -997,7 +1046,7 @@ CommandSharedPtr HMICommandFactory::CreateCommand(
     }
     case hmi_apis::FunctionID::UI_OnDriverDistraction: {
       command.reset(
-          new commands::hmi::OnDriverDistractionNotification(message));
+        new commands::hmi::OnDriverDistractionNotification(message));
       break;
     }
     case hmi_apis::FunctionID::BasicCommunication_OnUpdateDeviceList: {
@@ -1065,654 +1114,654 @@ CommandSharedPtr HMICommandFactory::CreateCommand(
       break;
     }
 #ifdef HMI_JSON_API
-      case hmi_apis::FunctionID::VehicleInfo_SubscribeVehicleData: {
-        if (is_response) {
-          command.reset(new commands::VISubscribeVehicleDataResponse(message));
-        } else {
-          command.reset(new commands::VISubscribeVehicleDataRequest(message));
-        }
-        break;
+    case hmi_apis::FunctionID::VehicleInfo_SubscribeVehicleData: {
+      if (is_response) {
+        command.reset(new commands::VISubscribeVehicleDataResponse(message));
+      } else {
+        command.reset(new commands::VISubscribeVehicleDataRequest(message));
       }
+      break;
+    }
 #endif // #ifdef HMI_JSON_API
 #ifdef HMI_DBUS_API
     case hmi_apis::FunctionID::VehicleInfo_SubscribeGps: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeGps>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeGps > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeGps>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeGps > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeSpeed: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeSpeed>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeSpeed > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeSpeed>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeSpeed > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeRpm: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeRpm>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeRpm > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeRpm>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeRpm > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel_State: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel_State>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel_State > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel_State>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeFuelLevel_State > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeInstantFuelConsumption: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeInstantFuelConsumption>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeInstantFuelConsumption > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeInstantFuelConsumption>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeInstantFuelConsumption > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeExternalTemperature: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeExternalTemperature>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeExternalTemperature > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeExternalTemperature>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeExternalTemperature > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribePrndl: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribePrndl>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribePrndl > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribePrndl>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribePrndl > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeVin: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeVin>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeVin > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeVin>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeVin > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeTirePressure: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeTirePressure>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeTirePressure > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeTirePressure>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeTirePressure > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeOdometer: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeOdometer>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeOdometer > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeOdometer>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeOdometer > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeBeltStatus: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeBeltStatus>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeBeltStatus > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeBeltStatus>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeBeltStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeBodyInformation: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeBodyInformation>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeBodyInformation > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeBodyInformation>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeBodyInformation > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeDeviceStatus: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeDeviceStatus>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeDeviceStatus > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeDeviceStatus>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeDeviceStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeDriverBraking: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeDriverBraking>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeDriverBraking > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeDriverBraking>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeDriverBraking > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeWiperStatus: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeWiperStatus>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeWiperStatus > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeWiperStatus>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeWiperStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeHeadLampStatus: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeHeadLampStatus>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeHeadLampStatus > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeHeadLampStatus>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeHeadLampStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeEngineTorque: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeEngineTorque>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeEngineTorque > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeEngineTorque>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeEngineTorque > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeAccPedalPosition: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeAccPedalPosition>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeAccPedalPosition > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeAccPedalPosition>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeAccPedalPosition > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeSteeringWheelAngle: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeSteeringWheelAngle>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeSteeringWheelAngle > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeSteeringWheelAngle>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeSteeringWheelAngle > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeECallInfo: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeECallInfo>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeECallInfo > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeECallInfo>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeECallInfo > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeAirbagStatus: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeAirbagStatus>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeAirbagStatus > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeAirbagStatus>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeAirbagStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeEmergencyEvent: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeEmergencyEvent>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeEmergencyEvent > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeEmergencyEvent>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeEmergencyEvent > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeClusterModeStatus: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeClusterModeStatus>(
-                message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeClusterModeStatus > (
+            message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeClusterModeStatus>(
-                message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeClusterModeStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_SubscribeMyKey: {
       if (is_response)
         command.reset(
-            new commands::VISubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeMyKey>(message));
+          new commands::VISubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeMyKey > (message));
       else
         command.reset(
-            new commands::VISubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_SubscribeMyKey>(message));
+          new commands::VISubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_SubscribeMyKey > (message));
       break;
     }
 #endif // #ifdef HMI_DBUS_API
 #ifdef HMI_JSON_API
-      case hmi_apis::FunctionID::VehicleInfo_UnsubscribeVehicleData: {
-        if (is_response) {
-          command.reset(new commands::VIUnsubscribeVehicleDataResponse(message));
-        } else {
-          command.reset(new commands::VIUnsubscribeVehicleDataRequest(message));
-        }
-        break;
+    case hmi_apis::FunctionID::VehicleInfo_UnsubscribeVehicleData: {
+      if (is_response) {
+        command.reset(new commands::VIUnsubscribeVehicleDataResponse(message));
+      } else {
+        command.reset(new commands::VIUnsubscribeVehicleDataRequest(message));
       }
+      break;
+    }
 #endif // #ifdef HMI_JSON_API
 #ifdef HMI_DBUS_API
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeGps: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeGps>(message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeGps > (message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeGps>(message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeGps > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeSpeed: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeSpeed>(message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeSpeed > (message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeSpeed>(message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeSpeed > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeRpm: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeRpm>(message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeRpm > (message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeRpm>(message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeRpm > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel_State: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel_State>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel_State > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel_State>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeFuelLevel_State > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeInstantFuelConsumption: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeInstantFuelConsumption>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeInstantFuelConsumption > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeInstantFuelConsumption>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeInstantFuelConsumption > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeExternalTemperature: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeExternalTemperature>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeExternalTemperature > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeExternalTemperature>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeExternalTemperature > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribePrndl: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribePrndl>(message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribePrndl > (message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribePrndl>(message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribePrndl > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeVin: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeVin>(message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeVin > (message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeVin>(message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeVin > (message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeTirePressure: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeTirePressure>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeTirePressure > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeTirePressure>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeTirePressure > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeOdometer: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeOdometer>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeOdometer > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeOdometer>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeOdometer > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeBeltStatus: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeBeltStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeBeltStatus > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeBeltStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeBeltStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeBodyInformation: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeBodyInformation>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeBodyInformation > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeBodyInformation>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeBodyInformation > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeDeviceStatus: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeDeviceStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeDeviceStatus > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeDeviceStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeDeviceStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeDriverBraking: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeDriverBraking>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeDriverBraking > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeDriverBraking>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeDriverBraking > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeWiperStatus: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeWiperStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeWiperStatus > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeWiperStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeWiperStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeHeadLampStatus: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeHeadLampStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeHeadLampStatus > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeHeadLampStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeHeadLampStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeEngineTorque: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeEngineTorque>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeEngineTorque > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeEngineTorque>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeEngineTorque > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeAccPedalPosition: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeAccPedalPosition>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeAccPedalPosition > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeAccPedalPosition>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeAccPedalPosition > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeSteeringWheelAngle: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeSteeringWheelAngle>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeSteeringWheelAngle > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeSteeringWheelAngle>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeSteeringWheelAngle > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeECallInfo: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeECallInfo>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeECallInfo > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeECallInfo>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeECallInfo > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeAirbagStatus: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeAirbagStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeAirbagStatus > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeAirbagStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeAirbagStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeEmergencyEvent: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeEmergencyEvent>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeEmergencyEvent > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeEmergencyEvent>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeEmergencyEvent > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeClusterModeStatus: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeClusterModeStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeClusterModeStatus > (
+            message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeClusterModeStatus>(
-                message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeClusterModeStatus > (
+            message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_UnsubscribeMyKey: {
       if (is_response)
         command.reset(
-            new commands::VIUnsubscribeVehicleDataResponseTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeMyKey>(message));
+          new commands::VIUnsubscribeVehicleDataResponseTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeMyKey > (message));
       else
         command.reset(
-            new commands::VIUnsubscribeVehicleDataRequestTemplate<
-                hmi_apis::FunctionID::VehicleInfo_UnsubscribeMyKey>(message));
+          new commands::VIUnsubscribeVehicleDataRequestTemplate <
+          hmi_apis::FunctionID::VehicleInfo_UnsubscribeMyKey > (message));
       break;
     }
 #endif // #ifdef HMI_DBUS_API
 #ifdef HMI_JSON_API
-      case hmi_apis::FunctionID::VehicleInfo_OnVehicleData: {
-        command.reset(new commands::OnVIVehicleDataNotification(message));
-        break;
-      }
+    case hmi_apis::FunctionID::VehicleInfo_OnVehicleData: {
+      command.reset(new commands::OnVIVehicleDataNotification(message));
+      break;
+    }
 #endif // #ifdef HMI_JSON_API
 #ifdef HMI_DBUS_API
     case hmi_apis::FunctionID::VehicleInfo_OnGpsData: {
@@ -1737,7 +1786,7 @@ CommandSharedPtr HMICommandFactory::CreateCommand(
     }
     case hmi_apis::FunctionID::VehicleInfo_OnInstantFuelConsumption: {
       command.reset(
-          new commands::OnVIInstantFuelConsumptionNotification(message));
+        new commands::OnVIInstantFuelConsumptionNotification(message));
       break;
     }
     case hmi_apis::FunctionID::VehicleInfo_OnExternalTemperature: {