summaryrefslogtreecommitdiffstats
path: root/stub/vehicle
diff options
context:
space:
mode:
Diffstat (limited to 'stub/vehicle')
-rw-r--r--stub/vehicle/LICENSE177
-rw-r--r--stub/vehicle/Makefile19
-rw-r--r--stub/vehicle/client/Makefile60
-rw-r--r--stub/vehicle/client/include/stub/Vehicle_API.h298
-rw-r--r--stub/vehicle/client/include/stub/Vehicle_Sensor_Common_API.h502
-rw-r--r--stub/vehicle/client/include/stub/vehicle_notifications.h48
-rw-r--r--stub/vehicle/client/libVehicle_API.ver28
-rw-r--r--stub/vehicle/client/src/Vehicle_API.cpp43
8 files changed, 1175 insertions, 0 deletions
diff --git a/stub/vehicle/LICENSE b/stub/vehicle/LICENSE
new file mode 100644
index 00000000..f433b1a5
--- /dev/null
+++ b/stub/vehicle/LICENSE
@@ -0,0 +1,177 @@
+
+ Apache License
+ Version 2.0, January 2004
+ http://www.apache.org/licenses/
+
+ TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
+
+ 1. Definitions.
+
+ "License" shall mean the terms and conditions for use, reproduction,
+ and distribution as defined by Sections 1 through 9 of this document.
+
+ "Licensor" shall mean the copyright owner or entity authorized by
+ the copyright owner that is granting the License.
+
+ "Legal Entity" shall mean the union of the acting entity and all
+ other entities that control, are controlled by, or are under common
+ control with that entity. For the purposes of this definition,
+ "control" means (i) the power, direct or indirect, to cause the
+ direction or management of such entity, whether by contract or
+ otherwise, or (ii) ownership of fifty percent (50%) or more of the
+ outstanding shares, or (iii) beneficial ownership of such entity.
+
+ "You" (or "Your") shall mean an individual or Legal Entity
+ exercising permissions granted by this License.
+
+ "Source" form shall mean the preferred form for making modifications,
+ including but not limited to software source code, documentation
+ source, and configuration files.
+
+ "Object" form shall mean any form resulting from mechanical
+ transformation or translation of a Source form, including but
+ not limited to compiled object code, generated documentation,
+ and conversions to other media types.
+
+ "Work" shall mean the work of authorship, whether in Source or
+ Object form, made available under the License, as indicated by a
+ copyright notice that is included in or attached to the work
+ (an example is provided in the Appendix below).
+
+ "Derivative Works" shall mean any work, whether in Source or Object
+ form, that is based on (or derived from) the Work and for which the
+ editorial revisions, annotations, elaborations, or other modifications
+ represent, as a whole, an original work of authorship. For the purposes
+ of this License, Derivative Works shall not include works that remain
+ separable from, or merely link (or bind by name) to the interfaces of,
+ the Work and Derivative Works thereof.
+
+ "Contribution" shall mean any work of authorship, including
+ the original version of the Work and any modifications or additions
+ to that Work or Derivative Works thereof, that is intentionally
+ submitted to Licensor for inclusion in the Work by the copyright owner
+ or by an individual or Legal Entity authorized to submit on behalf of
+ the copyright owner. For the purposes of this definition, "submitted"
+ means any form of electronic, verbal, or written communication sent
+ to the Licensor or its representatives, including but not limited to
+ communication on electronic mailing lists, source code control systems,
+ and issue tracking systems that are managed by, or on behalf of, the
+ Licensor for the purpose of discussing and improving the Work, but
+ excluding communication that is conspicuously marked or otherwise
+ designated in writing by the copyright owner as "Not a Contribution."
+
+ "Contributor" shall mean Licensor and any individual or Legal Entity
+ on behalf of whom a Contribution has been received by Licensor and
+ subsequently incorporated within the Work.
+
+ 2. Grant of Copyright License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ copyright license to reproduce, prepare Derivative Works of,
+ publicly display, publicly perform, sublicense, and distribute the
+ Work and such Derivative Works in Source or Object form.
+
+ 3. Grant of Patent License. Subject to the terms and conditions of
+ this License, each Contributor hereby grants to You a perpetual,
+ worldwide, non-exclusive, no-charge, royalty-free, irrevocable
+ (except as stated in this section) patent license to make, have made,
+ use, offer to sell, sell, import, and otherwise transfer the Work,
+ where such license applies only to those patent claims licensable
+ by such Contributor that are necessarily infringed by their
+ Contribution(s) alone or by combination of their Contribution(s)
+ with the Work to which such Contribution(s) was submitted. If You
+ institute patent litigation against any entity (including a
+ cross-claim or counterclaim in a lawsuit) alleging that the Work
+ or a Contribution incorporated within the Work constitutes direct
+ or contributory patent infringement, then any patent licenses
+ granted to You under this License for that Work shall terminate
+ as of the date such litigation is filed.
+
+ 4. Redistribution. You may reproduce and distribute copies of the
+ Work or Derivative Works thereof in any medium, with or without
+ modifications, and in Source or Object form, provided that You
+ meet the following conditions:
+
+ (a) You must give any other recipients of the Work or
+ Derivative Works a copy of this License; and
+
+ (b) You must cause any modified files to carry prominent notices
+ stating that You changed the files; and
+
+ (c) You must retain, in the Source form of any Derivative Works
+ that You distribute, all copyright, patent, trademark, and
+ attribution notices from the Source form of the Work,
+ excluding those notices that do not pertain to any part of
+ the Derivative Works; and
+
+ (d) If the Work includes a "NOTICE" text file as part of its
+ distribution, then any Derivative Works that You distribute must
+ include a readable copy of the attribution notices contained
+ within such NOTICE file, excluding those notices that do not
+ pertain to any part of the Derivative Works, in at least one
+ of the following places: within a NOTICE text file distributed
+ as part of the Derivative Works; within the Source form or
+ documentation, if provided along with the Derivative Works; or,
+ within a display generated by the Derivative Works, if and
+ wherever such third-party notices normally appear. The contents
+ of the NOTICE file are for informational purposes only and
+ do not modify the License. You may add Your own attribution
+ notices within Derivative Works that You distribute, alongside
+ or as an addendum to the NOTICE text from the Work, provided
+ that such additional attribution notices cannot be construed
+ as modifying the License.
+
+ You may add Your own copyright statement to Your modifications and
+ may provide additional or different license terms and conditions
+ for use, reproduction, or distribution of Your modifications, or
+ for any such Derivative Works as a whole, provided Your use,
+ reproduction, and distribution of the Work otherwise complies with
+ the conditions stated in this License.
+
+ 5. Submission of Contributions. Unless You explicitly state otherwise,
+ any Contribution intentionally submitted for inclusion in the Work
+ by You to the Licensor shall be under the terms and conditions of
+ this License, without any additional terms or conditions.
+ Notwithstanding the above, nothing herein shall supersede or modify
+ the terms of any separate license agreement you may have executed
+ with Licensor regarding such Contributions.
+
+ 6. Trademarks. This License does not grant permission to use the trade
+ names, trademarks, service marks, or product names of the Licensor,
+ except as required for reasonable and customary use in describing the
+ origin of the Work and reproducing the content of the NOTICE file.
+
+ 7. Disclaimer of Warranty. Unless required by applicable law or
+ agreed to in writing, Licensor provides the Work (and each
+ Contributor provides its Contributions) on an "AS IS" BASIS,
+ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
+ implied, including, without limitation, any warranties or conditions
+ of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
+ PARTICULAR PURPOSE. You are solely responsible for determining the
+ appropriateness of using or redistributing the Work and assume any
+ risks associated with Your exercise of permissions under this License.
+
+ 8. Limitation of Liability. In no event and under no legal theory,
+ whether in tort (including negligence), contract, or otherwise,
+ unless required by applicable law (such as deliberate and grossly
+ negligent acts) or agreed to in writing, shall any Contributor be
+ liable to You for damages, including any direct, indirect, special,
+ incidental, or consequential damages of any character arising as a
+ result of this License or out of the use or inability to use the
+ Work (including but not limited to damages for loss of goodwill,
+ work stoppage, computer failure or malfunction, or any and all
+ other commercial damages or losses), even if such Contributor
+ has been advised of the possibility of such damages.
+
+ 9. Accepting Warranty or Additional Liability. While redistributing
+ the Work or Derivative Works thereof, You may choose to offer,
+ and charge a fee for, acceptance of support, warranty, indemnity,
+ or other liability obligations and/or rights consistent with this
+ License. However, in accepting such obligations, You may act only
+ on Your own behalf and on Your sole responsibility, not on behalf
+ of any other Contributor, and only if You agree to indemnify,
+ defend, and hold each Contributor harmless for any liability
+ incurred by, or claims asserted against, such Contributor by reason
+ of your accepting any such warranty or additional liability.
+
+ END OF TERMS AND CONDITIONS
diff --git a/stub/vehicle/Makefile b/stub/vehicle/Makefile
new file mode 100644
index 00000000..3fb575eb
--- /dev/null
+++ b/stub/vehicle/Makefile
@@ -0,0 +1,19 @@
+#
+# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+SUBDIRS := client
+
+include ../stub.mk
diff --git a/stub/vehicle/client/Makefile b/stub/vehicle/client/Makefile
new file mode 100644
index 00000000..f9e6b099
--- /dev/null
+++ b/stub/vehicle/client/Makefile
@@ -0,0 +1,60 @@
+#
+# @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
+#
+# Licensed under the Apache License, Version 2.0 (the "License");
+# you may not use this file except in compliance with the License.
+# You may obtain a copy of the License at
+#
+# http://www.apache.org/licenses/LICENSE-2.0
+#
+# Unless required by applicable law or agreed to in writing, software
+# distributed under the License is distributed on an "AS IS" BASIS,
+# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+# See the License for the specific language governing permissions and
+# limitations under the License.
+#
+
+######### installed shared library(*.so) #############
+INST_SHLIBS = libVehicle_API
+
+
+######### installed static library(*.a) #############
+INST_LIBS = libVehicle_API
+
+
+######### install headers(*.h) #############
+VPATH += ./include/$(COMPONENT_NAME)
+INST_HEADERS = Vehicle_API.h vehicle_notifications.h Vehicle_Sensor_Common_API.h
+
+######### compiled sources #############
+libVehicle_API_SRCS = Vehicle_API.cpp
+
+######### add source path #############
+VPATH += ./src
+
+######### add include path #############
+CPPFLAGS += -I./include
+CPPFLAGS += -I./include/stub
+
+######### add compile option #############
+CPPFLAGS += -Werror=implicit-function-declaration
+CPPFLAGS += -Werror=format-security
+
+CPPFLAGS += -Wconversion
+CPPFLAGS += -Wint-to-pointer-cast
+CPPFLAGS += -Wpointer-arith
+CPPFLAGS += -Wformat
+
+CPPFLAGS += -DIMPL_AGL_APPLICATION_CALLBACKS_PRE_BACKGROUND
+
+#### FOR DEBUG OPTIONS
+
+######### add library path #############
+LDFLAGS += -Wl,--gc-sections
+LDFLAGS += -Wl,--no-as-needed
+LDFLAGS += -Wl,--no-undefined
+
+######### linked library (dynamic) #############
+LDLIBS += -Wl,-Bdynamic -lNS_FrameworkUnified
+
+include ../../stub.mk
diff --git a/stub/vehicle/client/include/stub/Vehicle_API.h b/stub/vehicle/client/include/stub/Vehicle_API.h
new file mode 100644
index 00000000..43fd0667
--- /dev/null
+++ b/stub/vehicle/client/include/stub/Vehicle_API.h
@@ -0,0 +1,298 @@
+/*
+ * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_API_H_
+#define VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_API_H_
+/**
+ * @file Vehicle_API.h
+ * @brief vehicle api header file
+ */
+
+/** @addtogroup BaseSystem
+ * @{
+ */
+/** @addtogroup vehicle_service
+ * @ingroup BaseSystem
+ * @{
+ */
+/** @addtogroup vehicle
+ * @ingroup vehicle_service
+ * @{
+ */
+
+/******************************************************************************
+ * Fine name :Vehicle_API.h
+ * System name :GPF
+ * Subsystem name :Vehicle I/F library
+ ******************************************************************************/
+#include <peripheral_service/Canif_API.h>
+#include <stub/Vehicle_Sensor_Common_API.h>
+#include <stub/vehicle_notifications.h>
+#include <native_service/frameworkunified_service_protocol.h>
+
+/************************************************************************
+ * Macro definition *
+ ************************************************************************/
+/*----------------------------------------------------------------------*
+ * VECHILE_RET_API definition *
+ *----------------------------------------------------------------------*/
+/* Normal */
+/**
+ * \~english Sucess
+ */
+#define VEHICLE_RET_NORMAL 0
+
+/**
+ * \~english No register data ID
+ */
+#define VEHICLE_RET_ERROR_DID (-2)
+
+/**
+ * \~english Input parameter error
+ */
+#define VEHICLE_RET_ERROR_PARAM (-4)
+
+/**
+ * \~english Create event error
+ */
+#define VEHICLE_RET_ERROR_CREATE_EVENT (-6)
+
+/*----------------------------------------------------------------------*
+ * Vehicle sensor information delivery registration API related *
+ *----------------------------------------------------------------------*/
+/* Delivery control */
+/**
+ * \~english Register delivery
+ */
+#define VEHICLE_DELIVERY_REGIST 0x01
+
+#if 0
+/**
+ * \~english Stop delivery
+ */
+#define VEHICLE_DELIVERY_STOP 0x02
+
+/**
+ * \~english Restart delivery
+ */
+#define VEHICLE_DELIVERY_RESTART 0x03
+#endif
+
+/* Delivery opportunities */
+/**
+ * \~english Delivery timing(update)
+ */
+#define VEHICLE_DELIVERY_TIMING_UPDATE 0x01
+
+/**
+ * \~english Delivery timing(change)
+ */
+#define VEHICLE_DELIVERY_TIMING_CHANGE 0x02
+
+/* Drive mode switching */
+/**
+ * \~english TAB mode
+ */
+#define VEHICLE_DRIVE_MODE_TAB 0
+
+/**
+ * \~english AIAPI mode(USB)
+ */
+#define VEHICLE_DRIVE_MODE_ATAPI 1
+
+/*----------------------------------------------------------------------*
+ * Message related *
+ *----------------------------------------------------------------------*/
+/* Command ID */
+/* Since it is defined in #define the commodity code, the public CID is defined in #define */
+/**
+ * \~english Vehicle sensor information notify commandID
+ */
+#define CID_VEHICLESENS_VEHICLE_INFO 0x00000200
+
+/* Message body size(byte) */
+/**
+ * \~english Vehicle sensor information data max size
+ */
+#define VEHICLE_VSINFO_DSIZE 80
+
+/************************************************************************
+ * typedef definition *
+ ************************************************************************/
+/**
+ * \~english API return value
+ */
+typedef int32_t VEHICLE_RET_API;
+
+/************************************************************************
+ * struct definition *
+ ************************************************************************/
+
+/************************************************************************
+ * TAG : VEHICLE_MSG_VSINFO_DAT
+ * ABSTRACT : Vehicle sensor information notification message(->User)
+ ************************************************************************/
+/** \~english Vehicle sensor information notification message */
+/**
+ * \~english Vehicle sensor information notify message data
+ */
+typedef struct {
+ /**
+ * \~english Vehicle sensor information data ID
+ */
+ uint32_t did;
+
+ /**
+ * \~english Vehicle sensor information data size
+ */
+ uint16_t size;
+
+ /**
+ * \~english Vehicle sensor information receive flag
+ */
+ uint8_t rcvFlag;
+
+ /**
+ * \~english Reserve
+ */
+ uint8_t reserve;
+
+ /**
+ * \~english Vehicle sensor information data
+ */
+ uint8_t data[VEHICLE_VSINFO_DSIZE];
+} VEHICLE_MSG_VSINFO_DAT;
+
+/**
+ * \~english Vehicle sensor information notify message
+ */
+typedef struct {
+ /**
+ * \~english Vehicle sensor information data struct
+ */
+ VEHICLE_MSG_VSINFO_DAT data;
+} VEHICLE_MSG_VSINFO;
+
+/************************************************************************
+ * Function prototype *
+ ************************************************************************/
+#ifdef __cplusplus
+extern "C" {
+#endif
+/*[VEHICLE_API Public API]*/
+/* Display time middle API prototype *************/
+
+/**
+ * \ingroup Vehicle_DeliveryEntry
+ * \~english @par Overview
+ * - Register delivery of vehicle information.
+ * \~english @param [in] h_app
+ * HANDLE - The application handle of the calling thread
+ * \~english @param [in] notify_name
+ * PCSTR - Vehicle information notification destination threa name
+ * \~english @param [in] ul_did
+ * uint32_t - Vehicle Data ID
+ * \~english @param [in] uc_ctrl_flg
+ * uint8_t - Register delivery
+ * \~english @param [in] uc_delivery_timing
+ * uint8_t - Delivery timing(change/update)
+ * \~english @retval VEHICLE_RET_NORMAL : Success(register successful)
+ * \~english @retval VEHICLE_RET_ERROR_CREATE_EVENT : Failure(event generation failure)
+ * \~english @retval VEHICLE_RET_ERROR_PARAM : Invalid parameter
+ * \~english @par Precondition
+ * - The generation/initialization of dispatcher for application(PadCreateDispatcherWithoutLoop etc.) is done.
+ * - The availability of the vehicle process is TRUE.
+ * \~english @par Changing internal state
+ * - No change of internal state by this API occurs.
+ * \~english @par Processing failure condition
+ * - Delivery control flag(uc_ctrl_flg) is not VEHICLE_DELIVERRY_REGIST [VEHICLE_RET_ERROR_PARAM]
+ * - Delivery timing is invalid(not change/update) [VEHICLE_RET_ERROR_PARAM]
+ * - Failed to generate a message queue handle for transmission with
+ * the vehicle process [VEHICLE_RET_ERROR_CREATE_EVENT]
+ * - Synchronous communication received on the vehicle process side failed to
+ * get data [VEHICLE_RET_ERROR_CREATE_EVENT]
+ * - The data ID does not exit in the management list on the vehicle process [VEHICLE_RET_ERROR_CREATE_EVENT]
+ * - The number of delivery registrations has reached the max number [VEHICLE_RET_ERROR_CREATE_EVENT]
+ * \~english @par Classification
+ * - Public
+ * \~english @par Type
+ * - Sync
+ * \~english @par Details
+ * - By calling this API, we request to register delivery specified vehicle information.
+ * - It returns from this API by returning the delivery registration result by the Return value.
+ * - The specified vehicle information is notified after delivery registration.
+ * - Data delivery/reception is performed by asynchronous communication,
+ * and the receiving side acquires with command"CID_VEHICLESENS_VEHICLE_INFO".
+ * - An example in which a process using NSFW registers"CID_VEHICLESENS_VEHICLE_INFO" is shown below.
+ * - Example) when above CID received, callback function(SampleCallBackFunc) is executed.
+ * - FrameworkunifiedAttachCallbackToDispatcher(hApp, TN_VEHICLE_SENS, CID_VEHICLESENS_VEHICLE_INFO, SampleCallBackFunc).
+ * \~english @see Vehicle_GetVehicleData, FrameworkunifiedMcOpenSender, FrameworkunifiedInvokeSync
+ */
+VEHICLE_RET_API Vehicle_DeliveryEntry(HANDLE h_app, PCSTR notify_name,
+ uint32_t ul_did, uint8_t uc_ctrl_flg,
+ uint8_t uc_delivery_timing);
+
+/**
+ * \ingroup Vehicle_GetVehicleData
+ * \~english @par Overview
+ * - Get vehicle information data(arbitrary data).
+ * \~english @param [in] h_app
+ * HANDLE - The application handle of the calling thread
+ * \~english @param [in] ul_did
+ * uint32_t - Vehicle Data ID
+ * \~english @param [out] p_dest_data
+ * void * - Data buffer
+ * \~english @param [in] us_dest_size
+ * uint16_t - Data buffer size(byte)
+ * \~english @retval Integer(>0) : The stored data size
+ * \~english @retval VEHICLE_RET_ERROR_CREATE_EVENT : Failure(event generation failure)
+ * \~english @retval VEHICLE_RET_ERROR_PARAM : Invalid parameter
+ * \~english @par Precondition
+ * - The generation/initialization of dispatcher for application(PadCreateDispatcherWithoutLoop etc.) is done.
+ * - The availability of the vehicle process is TRUE.
+ * \~english @par Changing internal state
+ * - No change of internal state by this API occurs.
+ * \~english @par Processing failure condition
+ * - Failed to generate a message queue handle for transmission with
+ * the vehicle process [VEHICLE_RET_ERROR_CREATE_EVENT]
+ * - Input data buffer size(us_dest_size) is zero [VEHICLE_RET_ERROR_PARAM]
+ * - Input data buffer(p_dest_data) is NULL [VEHICLE_RET_ERROR_PARAM]
+ * - Synchronous communication received on the vehicle process side failed to
+ * get data [VEHICLE_RET_ERROR_CREATE_EVENT]
+ * - The data ID does not exit in the management list on the vehicle process [VEHICLE_RET_ERROR_CREATE_EVENT]
+ * \~english @par Classification
+ * - Public
+ * \~english @par Type
+ * - Sync
+ * \~english @par Details
+ * - By calling this API, we obtain specified vehicle information.
+ * - The vehicle data will be written to parameter(pDestData).
+ * - Data delivery/reception is performed by asynchronous communication,
+ * and the receiving side acquires with command"CID_VEHICLESENS_VEHICLE_INFO".
+ * \~english @see Vehicle_DeliveryEntry, FrameworkunifiedMcOpenSender, FrameworkunifiedInvokeSync
+ */
+int32_t Vehicle_GetVehicleData(HANDLE h_app, uint32_t ul_did, void *p_dest_data,
+ uint16_t us_dest_size);
+
+#ifdef __cplusplus
+}
+#endif
+
+/** @}*/ // end of vehicle
+/** @}*/ // end of VehicleService
+/** @}*/ // end of BaseSystem
+
+#endif // VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_API_H_
diff --git a/stub/vehicle/client/include/stub/Vehicle_Sensor_Common_API.h b/stub/vehicle/client/include/stub/Vehicle_Sensor_Common_API.h
new file mode 100644
index 00000000..810e46a1
--- /dev/null
+++ b/stub/vehicle/client/include/stub/Vehicle_Sensor_Common_API.h
@@ -0,0 +1,502 @@
+/*
+ * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_SENSOR_COMMON_API_H_
+#define VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_SENSOR_COMMON_API_H_
+
+/**
+ * @file Vehicle_Sensor_Common_API.h
+ * @brief vehicle common id defined header file
+ */
+
+/** @addtogroup BaseSystem
+ * @{
+ */
+/** @addtogroup vehicle_service
+ * @ingroup BaseSystem
+ * @{
+ */
+/** @addtogroup vehicle
+ * @ingroup vehicle_service
+ * @{
+ */
+
+/******************************************************************************
+ * File name :Vehicle_Sensor_Common_API.h
+ * System name :_CWORD107_
+ * Subsystem name :Vehicle I/F library, Sensor I/F library
+ ******************************************************************************/
+
+/************************************************************************
+ * Macro definition *
+ ************************************************************************/
+
+#if 1 // Ignore -> MISRA-C++ Rules 16-1-2, 16-2-2
+/* #GPF_60_023 For testing */
+#ifndef CONFIG_EXTTERM_INPUT_DAB2BIT // Ignore -> MISRA-C++ Rules 16-1-2, 16-2-2
+/**
+ * \~english DAB data 2 bits macro
+ */
+#define CONFIG_EXTTERM_INPUT_DAB2BIT 1 // Ignore -> MISRA-C++ Rules 16-2-2
+#endif
+#ifndef CONFIG_EXTTERM_INPUT_GPS2BIT // Ignore -> MISRA-C++ Rules 16-1-2, 16-2-2
+/**
+ * \~english GPS data 2 bits macro
+ */
+#define CONFIG_EXTTERM_INPUT_GPS2BIT 1 // Ignore -> MISRA-C++ Rules 16-2-2
+#endif
+#ifndef CONFIG_EXTTERM_INPUT_IMAGETERMINAL // Ignore -> MISRA-C++ Rules 16-1-2, 16-2-2
+/**
+ * \~english Image terminal macro
+ */
+#define CONFIG_EXTTERM_INPUT_IMAGETERMINAL 1 // Ignore -> MISRA-C++ Rules 16-2-2
+#endif
+#endif
+/* The above definition is a remnant of the external terminal processing part inside *
+ * the sennsor that was enabled or disabled, and is not originally required at all. *
+ * Enable all sensor internal processing and then delete. */
+
+/*----------------------------------------------------------------------*
+ * Data ID corresponding to vehicle sensor information *
+ *----------------------------------------------------------------------*/
+/*
+ * Note.
+ * This feature needs to be defined by the vendor.
+ */
+
+/**
+ * \~english Destination information
+ */
+#define VEHICLE_DID_DESTINATION (0x00000001UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Hybrid electric vehicle information
+ */
+#define VEHICLE_DID_HV (0x00000002UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Steering wheel information
+ */
+#define VEHICLE_DID_STEERING_WHEEL (0x00000003UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Voltage
+ */
+#define VEHICLE_DID_VB (0x00000004UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english IG information
+ */
+#define VEHICLE_DID_IG (0x00000005UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Microphone information
+ */
+#define VEHICLE_DID_MIC (0x00000006UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Back door information
+ */
+#define VEHICLE_DID_BACKDOOR (0x00000007UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Parking brake information
+ */
+#define VEHICLE_DID_PKB (0x00000008UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english ADIM information
+ */
+#define VEHICLE_DID_ADIM (0x00000009UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Illumination information
+ */
+#define VEHICLE_DID_ILL (0x0000000AUL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english RHEOSTAT information
+ */
+#define VEHICLE_DID_RHEOSTAT (0x0000000BUL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english System temperature information
+ */
+#define VEHICLE_DID_SYSTEMP (0x0000000CUL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Reverse information
+ */
+#define VEHICLE_DID_REV (0x00000017UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Reverse information(line sensor)
+ */
+#define VEHICLE_DID_REV_LINE (0x0000000EUL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Reverse CAN information
+ */
+#define VEHICLE_DID_REV_CAN (0x0000000FUL) // Ignore -> MISRA-C++ Rule 16-2-2
+/**
+ * \~english SPEED information
+ */
+#define VEHICLE_DID_SPEED (0x00000010UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english SPEED PULSE information
+ */
+#define VEHICLE_DID_SPEED_PULSE (0x00000011UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english VB information
+ */
+#define VEHICLE_DID_VBLOW (0x00000012UL) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Drive information(2WD/4WD)
+ */
+#define VEHICLE_DID_DVINF (0x00000013UL)
+
+/**
+ * \~english Transmission information
+ */
+#define VEHICLE_DID_VARTRM1 (0x00000014UL)
+
+/**
+ * \~english Shift position signal(R, P, N, D)
+ */
+#define VEHICLE_DID_SHIFT (0x00000015UL)
+
+/**
+ * \~english Direct line sensor(PKB)
+ */
+#define VEHICLE_DID_PKB_LINE (0x00000016UL)
+
+/**
+ * \~english D seat door signal switch
+ */
+#define VEHICLE_DID_DSEAT_DOOR (0x0000000DUL)
+
+/**
+ * \~english P seat door signal switch
+ */
+#define VEHICLE_DID_PSEAT_DOOR (0x00000018UL)
+
+/**
+ * \~english RR seat door signal switch
+ */
+#define VEHICLE_DID_RRSEAT_DOOR (0x00000019UL)
+
+/**
+ * \~english RL seat door signal switch
+ */
+#define VEHICLE_DID_RLSEAT_DOOR (0x0000001AUL)
+
+/**
+ * \~english IGP information
+ */
+#define VEHICLE_DID_IGP (0x0000001BUL)
+
+/**
+ * \~english HV information status
+ */
+#define VEHICLE_DID_HV_STS (0x0000001CUL)
+
+/**
+ * \~english Shift position signal(Unspecified)
+ */
+#define VEHICLE_DID_SHIFT_U (0x0000001DUL)
+
+/**
+ * \~english USB power supply
+ */
+#define VEHICLE_DID_USBPOWERSUPPLY (0x800000A0UL)
+
+/**
+ * \~english Analog Microphone Connect information
+ */
+#define VEHICLE_DID_ANALOG_MIC (0x800000B0UL)
+
+/**
+ * \~english MultiMic Connect information
+ */
+#define VEHICLE_DID_MULTI_MIC (0x800000B1UL)
+
+/*----------------------------------------------------------------------*
+ * Vehicle sensor information data *
+ *----------------------------------------------------------------------*/
+/**
+ * \~english OFF
+ */
+#define VEHICLE_SNS_OFF (0x00U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english ON
+ */
+#define VEHICLE_SNS_ON (0x01U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+#define VEHICLE_SNS_BLACKOUT (0x02U) // Disruptions
+/**
+ * \~english Undefined
+ */
+#define VEHICLE_SNS_UNDEF (0x03U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Disconnection
+ */
+#define VEHICLE_SNS_UNCONNECTION (0x00U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Connection
+ */
+#define VEHICLE_SNS_CONNECTION (0x01U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Uncertainty
+ */
+#define VEHICLE_SNS_BW_UNCERTAINTY (0x02U)
+
+/**
+ * \~english Unspecified
+ */
+#define VEHICLE_SNS_UNSPECIFIED (0x03U) // Ignore -> MISRA-C++ Rule 16-2-2
+/* #GPF_60_023 ADD START */
+#if (CONFIG_EXTTERM_INPUT_DAB2BIT | CONFIG_EXTTERM_INPUT_GPS2BIT) // Ignore -> MISRA-C++ Rules 16-1-2, 16-2-2
+/**
+ * \~english Short
+ */
+#define VEHICLE_SNS_SHORT (0x02U) // Ignore -> MISRA-C++ Rule 16-2-2
+#endif
+/* #GPF_60_023 ADD END */
+
+/**
+ * \~english Hybrid electric vehicle
+ */
+#define VEHICLE_SNS_HV (0x01U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Plug-in hybrid electric vehicle
+ */
+#define VEHICLE_SNS_PHV (0x02U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Electric vehicle
+ */
+#define VEHICLE_SNS_EV (0x03U)
+
+/**
+ * \~english Fuel Cell vehicle
+ */
+#define VEHICLE_SNS_FCV (0x04U)
+
+/**
+ * \~english 1 motor vehicle
+ */
+#define VEHICLE_SNS_1MOT (0x05U)
+
+/**
+ * \~english Conventional(48V) vehicle
+ */
+#define VEHICLE_SNS_48V (0x06U)
+
+/**
+ * \~english S&S vehicle
+ */
+#define VEHICLE_SNS_SANDS (0x07U)
+
+/**
+ * \~english Conventional vehicle
+ */
+#define VEHICLE_SNS_NONHV (0x00U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Two wheel drive
+ */
+#define VEHICLE_SNS_2WD (0x00U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**gb
+ * \~english Four wheel drive
+ */
+#define VEHICLE_SNS_4WD (0x01U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Left handle
+ */
+#define VEHICLE_SNS_LH (0x01U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Right handle
+ */
+#define VEHICLE_SNS_RH (0x02U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Close
+ */
+#define VEHICLE_SNS_CLOSE (0x00U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Open
+ */
+#define VEHICLE_SNS_OPEN (0x01U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Back door uncertainty
+ */
+#define VEHICLE_SNS_BD_UNCERTAINTY (0x02U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english ADIM uncertainty
+ */
+#define VEHICLE_SNS_ADIM_UNCERTAINTY (0x00U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english ADIM undefined
+ */
+#define VEHICLE_SNS_ADIM_UNDEF (0x01U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english ADIM off
+ */
+#define VEHICLE_SNS_ADIM_OFF (0x02U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english ADIM on
+ */
+#define VEHICLE_SNS_ADIM_ON (0x03U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Drive information(2WD)
+ */
+#define VEHICLE_SNS_DVINF_2WD (0x00U)
+
+/**
+ * \~english Drive information(4WD)
+ */
+#define VEHICLE_SNS_DVINF_4WD (0x01U)
+
+/**
+ * \~english Drive information uncertainty
+ */
+#define VEHICLE_SNS_DVINF_UNCERTAINTY (0x03U)
+
+/**
+ * \~english Transmission information(MT)
+ */
+#define VEHICLE_SNS_VARTRM1_MT (0x00U)
+
+/**
+ * \~english Transmission information(AT)
+ */
+#define VEHICLE_SNS_VARTRM1_AT (0x01U)
+
+/**
+ * \~english Transmission information(CVT)
+ */
+#define VEHICLE_SNS_VARTRM1_CVT (0x02U)
+
+/**
+ * \~english Transmission information(MMT)
+ */
+#define VEHICLE_SNS_VARTRM1_MMT (0x03U)
+
+/**
+ * \~english Transmission information(SMT)
+ */
+#define VEHICLE_SNS_VARTRM1_SMT (0x04U)
+
+/**
+ * \~english Transmission information(HV_AT)
+ */
+#define VEHICLE_SNS_VARTRM1_HV_AT (0x05U)
+
+/**
+ * \~english Transmission information uncertainty
+ */
+#define VEHICLE_SNS_VARTRM1_UNCERTAINTY (0x0FU)
+
+/**
+ * \~english D seat door uncertainty
+ */
+#define VEHICLE_SNS_DS_UNCERTAINTY (0x02U)
+
+/**
+ * \~english P seat door uncertainty
+ */
+#define VEHICLE_SNS_PS_UNCERTAINTY (0x02U)
+
+/**
+ * \~english RR seat door uncertainty
+ */
+#define VEHICLE_SNS_RRS_UNCERTAINTY (0x02U)
+
+/**
+ * \~english RL seat door uncertainty
+ */
+#define VEHICLE_SNS_RLS_UNCERTAINTY (0x02U)
+
+/**
+ * \~english HV information not decision
+ */
+#define VEHICLE_SNS_HV_NOT_DECISION (0x00U)
+
+/**
+ * \~english HV information decision
+ */
+#define VEHICLE_SNS_HV_DECISION (0x01U)
+
+/**
+ * @enum VehicleSnsAnlogMicBit
+ * \~english ANALOGMIC connect bit information
+ */
+enum VehicleSnsAnlogMicBit {
+ VEHICLE_SNS_ANALOG_MIC1_BIT = 0x02, //!< \~english ANALOGMIC1 connect
+ VEHICLE_SNS_ANALOG_MIC2_BIT = 0x04, //!< \~english ANALOGMIC2 connect
+};
+
+/**
+ * @enum VehicleSnsMultiMicBit
+ * \~english MULTI MIC connect bit information
+ */
+enum VehicleSnsMultiMicBit {
+ VEHICLE_SNS_A2B_HUB_BIT = 0x01, //!< \~english A2BHUB connect
+ VEHICLE_SNS_MULTI_MIC1_BIT = 0x02, //!< \~english MULTIMIC1 connect
+ VEHICLE_SNS_MULTI_MIC2_BIT = 0x04, //!< \~english MULTIMIC2 connect
+ VEHICLE_SNS_MULTI_MIC3_BIT = 0x08, //!< \~english MULTIMIC3 connect
+ VEHICLE_SNS_MULTI_MIC4_BIT = 0x10, //!< \~english MULTIMIC4 connect
+ VEHICLE_SNS_MULTI_MIC5_BIT = 0x20, //!< \~english MULTIMIC5 connect
+ VEHICLE_SNS_MULTI_MIC6_BIT = 0x40, //!< \~english MULTIMIC6 connect
+ VEHICLE_SNS_ANC_BIT = 0x80, //!< \~english ANC connect
+};
+
+/*-------------------------------------------------------------------------------
+ * Time status return value
+ -------------------------------------------------------------------------------*/
+/**
+ * \~english Real time clock
+ */
+#define GPS_TIMESTS_RTC (0x02U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/**
+ * \~english Exception time
+ */
+#define GPS_TIMESTS_NG (0x03U) // Ignore -> MISRA-C++ Rule 16-2-2
+
+/** @}*/ // end of vehicle
+/** @}*/ // end of VehicleService
+/** @}*/ // end of BaseSystem
+
+#endif // VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_SENSOR_COMMON_API_H_
diff --git a/stub/vehicle/client/include/stub/vehicle_notifications.h b/stub/vehicle/client/include/stub/vehicle_notifications.h
new file mode 100644
index 00000000..83481479
--- /dev/null
+++ b/stub/vehicle/client/include/stub/vehicle_notifications.h
@@ -0,0 +1,48 @@
+/*
+ * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#ifndef VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_NOTIFICATIONS_H_
+#define VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_NOTIFICATIONS_H_
+
+/**
+ * @file vehicle_notifications.h
+ * @brief vehicle notification name define header file
+ */
+
+/** @addtogroup BaseSystem
+ * @{
+ */
+/** @addtogroup vehicle_service
+ * @ingroup BaseSystem
+ * @{
+ */
+/** @addtogroup vehicle
+ * @ingroup vehicle_service
+ * @{
+ */
+
+#include <agl_thread.h>
+
+/**
+ * \~english Vehicle notification availability
+ */
+#define NTFY_Vehicle_Availability MN_VEHICLE"/Availability"
+
+/** @}*/ // end of vehicle
+/** @}*/ // end of VehicleService
+/** @}*/ // end of BaseSystem
+
+#endif // VEHICLE_CLIENT_INCLUDE_VEHICLE_SERVICE_VEHICLE_NOTIFICATIONS_H_
diff --git a/stub/vehicle/client/libVehicle_API.ver b/stub/vehicle/client/libVehicle_API.ver
new file mode 100644
index 00000000..14be9070
--- /dev/null
+++ b/stub/vehicle/client/libVehicle_API.ver
@@ -0,0 +1,28 @@
+/*
+ * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+#########################
+# libVehicle_API version script #
+#########################
+{
+ global:
+ ### .text section ###
+ Vehicle_*;
+ ### .data section ###
+ local:
+ *;
+};
+
diff --git a/stub/vehicle/client/src/Vehicle_API.cpp b/stub/vehicle/client/src/Vehicle_API.cpp
new file mode 100644
index 00000000..cefee014
--- /dev/null
+++ b/stub/vehicle/client/src/Vehicle_API.cpp
@@ -0,0 +1,43 @@
+/*
+ * @copyright Copyright (c) 2019-2020 TOYOTA MOTOR CORPORATION.
+ *
+ * Licensed under the Apache License, Version 2.0 (the "License");
+ * you may not use this file except in compliance with the License.
+ * You may obtain a copy of the License at
+ *
+ * http://www.apache.org/licenses/LICENSE-2.0
+ *
+ * Unless required by applicable law or agreed to in writing, software
+ * distributed under the License is distributed on an "AS IS" BASIS,
+ * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+ * See the License for the specific language governing permissions and
+ * limitations under the License.
+ */
+
+/*
+ * Information.
+ * This source code is a sample source code .
+ * Implementation of the function must be performed by the vendor.
+ */
+
+#include "Vehicle_API.h"
+
+VEHICLE_RET_API Vehicle_DeliveryEntry(HANDLE h_app, PCSTR notify_name,
+ uint32_t ul_did, uint8_t uc_ctrl_flg,
+ uint8_t uc_delivery_timing) {
+ /*
+ * Note.
+ * This feature needs to be implemented by the vendor.
+ */
+ return VEHICLE_RET_NORMAL;
+}
+
+int32_t Vehicle_GetVehicleData(HANDLE h_app, uint32_t ul_did, void *p_dest_data,
+ uint16_t us_dest_size) {
+ /*
+ * Note.
+ * This feature needs to be implemented by the vendor.
+ */
+ return 1;
+}
+