summaryrefslogtreecommitdiffstats
path: root/stub/communication_usb/client
diff options
context:
space:
mode:
Diffstat (limited to 'stub/communication_usb/client')
-rw-r--r--stub/communication_usb/client/Makefile43
-rw-r--r--stub/communication_usb/client/include/stub/commusb_api.h186
-rw-r--r--stub/communication_usb/client/include/stub/commusb_notifications.h56
-rw-r--r--stub/communication_usb/client/src/commusb_api.cpp33
4 files changed, 318 insertions, 0 deletions
diff --git a/stub/communication_usb/client/Makefile b/stub/communication_usb/client/Makefile
new file mode 100644
index 00000000..fbefaedc
--- /dev/null
+++ b/stub/communication_usb/client/Makefile
@@ -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.
+#
+
+######### installed shared library(*.so) #############
+INST_SHLIBS = libCommUSB
+
+######### install headers(*.h) #############
+INST_HEADERS = commusb_api.h commusb_notifications.h
+
+######### compiled sources #############
+libCommUSB_SRCS += src/commusb_api.cpp
+
+######### add source path #############
+VPATH += src
+VPATH += include/stub
+
+######### add include path #############
+CPPFLAGS += -I./include
+CPPFLAGS += -I./include/$(COMPONENT_NAME)
+
+######### add compile option #############
+
+######### linked library #############
+
+######### linked library (dynamic) #############
+
+######### add library path #############
+
+
+include ../../stub.mk
diff --git a/stub/communication_usb/client/include/stub/commusb_api.h b/stub/communication_usb/client/include/stub/commusb_api.h
new file mode 100644
index 00000000..f602faac
--- /dev/null
+++ b/stub/communication_usb/client/include/stub/commusb_api.h
@@ -0,0 +1,186 @@
+/*
+ * @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.
+ */
+
+/*!-----------------------------------------------------------------------------
+ * @file commusb_api.h
+ * @~english
+ * @brief CommUSB I/F
+ */
+#ifndef COMMUNICATION_USB_CLIENT_INCLUDE_PERIPHERAL_SERVICE_COMMUSB_API_H_
+#define COMMUNICATION_USB_CLIENT_INCLUDE_PERIPHERAL_SERVICE_COMMUSB_API_H_
+
+#include <sys/types.h>
+#include <native_service/frameworkunified_types.h>
+
+/** @addtogroup BaseSystem
+ * @{
+ */
+/** @addtogroup peripheral_service
+ * @ingroup BaseSystem
+ * @{
+ */
+/** @addtogroup communication_usb
+ * @ingroup peripheral_service
+ * @{
+ */
+#ifdef __cplusplus
+extern "C" {
+#endif // __cplusplus
+
+/**
+ * @~english Service Name of PS_CommUSB Thread
+ */
+#define LAN_SERVICE_COMMUSB_MAIN "PS_CommUSB"
+
+/**
+ * @~english The maximum number of delivery entry
+ */
+#define COMMUSB_DELIVERY_DATA_MAX 0xFF
+
+/**
+ * @~english Authentication info
+ */
+typedef enum {
+ /**
+ *@~english Authentication is NG
+ */
+ COMMUSB_AUTH_NG = 0x00,
+
+ /**
+ *@~english Authentication is OK
+ */
+ COMMUSB_AUTH_OK
+} COMMUSB_AUTH_INFO;
+
+/**
+ * @~english Transmit class
+ */
+typedef enum {
+ /**
+ *@~english Individual transmission
+ */
+ COMMUSB_TRANS_INDIVIDUAL = 0x00,
+
+ /**
+ *@~english Group broadcast transmission
+ */
+ COMMUSB_TRANS_GROUP,
+
+ /**
+ *@~english Simultaneous broadcast transmission
+ */
+ COMMUSB_TRANS_ALL
+} COMMUSB_TRANS_CLASS;
+
+/**
+ * @~english Clear type of DeliveryEntry table (for debug)
+ */
+typedef enum {
+ /**
+ * @~english Clear all
+ */
+ USB_CLEAR_TYPE_ALL = 0,
+
+ /**
+ * @~english Clear only table without wild card
+ */
+ USB_CLEAR_TYPE_WITHOUT_WILDCARD,
+
+ /**
+ * @~english Clear only table with wild card
+ */
+ USB_CLEAR_TYPE_WITH_WILDCARD,
+} USB_CLEAR_TYPE;
+
+/**
+ * \ingroup USB_Auth_Info
+ * \~english @par Brief
+ * Set the authentication status of the service PS_CommUSB.
+ * \~english @param [in] h_app
+ * HANDLE - handle for application
+ * \~english @param [in] auth_info
+ * uint8_t - Authentication status,refer to @ref COMMUSB_AUTH_INFO
+ * \~english @retval eFrameworkunifiedStatusOK success
+ * \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
+ * \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
+ * \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
+ * \~english @retval eFrameworkunifiedStatusErrNoEINTR
+ * An interrupt is generated by the system call (signal)
+ * \~english @retval eFrameworkunifiedStatusNullPointer NULL pointer
+ * \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
+ * \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
+ * \~english @retval eFrameworkunifiedStatusInvldBuf Invalid buffer
+ * \~english @retval eFrameworkunifiedStatusBadConnection It can not be a socket connection
+ * \~english @retval eFrameworkunifiedStatusFail Abnormal Error
+ * (System error, Avaiability is FALSE, internal status error)
+ * \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
+ * \~english @retval eFrameworkunifiedStatusInvldQName Illegal Message Queue name
+ * \~english @retval eFrameworkunifiedStatusErrOther
+ * Other error has occurred(Cannot access shared memory, etc.)
+ * \~english @par Preconditons
+ * - Availability of PS_CommUSB is TRUE and Authentication state is TRUE.
+ * \~english @par Change of internal status
+ * - Change of internal state according to the API does not occur
+ * \~english @par Conditions of processing failure
+ * - Input parameter error
+ * - Parameter h_app is null
+ * - eFrameworkunifiedStatusInvldHandle
+ * - Parameter auth_info is invalid
+ * - eFrameworkunifiedStatusInvldParam
+ * - Internal process error
+ * - Availability of PS_CommUSB is not TRUE
+ * - The size of the message received by PS_CommUSB is illegal
+ * - eFrameworkunifiedStatusFail
+ * - Execute the process name is not ExtUnitAuth
+ * - eFrameworkunifiedStatusMsgNotProcessed
+ * - Internal process error(ns_framework error)
+ * - eFrameworkunifiedStatusInvldHandle
+ * - eFrameworkunifiedStatusMsgQFull
+ * - eFrameworkunifiedStatusErrNoEBADF
+ * - eFrameworkunifiedStatusErrNoEINTR
+ * - eFrameworkunifiedStatusNullPointer
+ * - eFrameworkunifiedStatusInvldBufSize
+ * - eFrameworkunifiedStatusInvldBuf
+ * - eFrameworkunifiedStatusBadConnection
+ * - eFrameworkunifiedStatusFail
+ * - eFrameworkunifiedStatusInvldHndlType
+ * - eFrameworkunifiedStatusInvldQName
+ * - eFrameworkunifiedStatusErrOther
+ * \~english @par classification
+ * Public
+ * \~english @par Type
+ * Method only
+ * \~english @par Details
+ * Set the authentication status for PS_CommUSB.
+ * \~english @par
+ * when using this API,please note the following points:
+ * - The status of service PS_CommUSB and the availability of this
+ * API, refer to PS_CommUSB available function list of BaseSystem
+ * external specification.
+ * - This API is designed for the ExtUnitAuth process, If it is used by
+ * other process, return eFrameworkunifiedStatusMsgNotProcessed.
+ * \~english @see None
+ */
+EFrameworkunifiedStatus USB_Auth_Info(HANDLE h_app, uint8_t auth_info);
+
+#ifdef __cplusplus
+}
+#endif // __cplusplus
+
+/** @}*/ // end of communication_usb
+/** @}*/ // end of peripheral_service
+/** @}*/ // end of BaseSystem
+#endif // COMMUNICATION_USB_CLIENT_INCLUDE_PERIPHERAL_SERVICE_COMMUSB_API_H_
diff --git a/stub/communication_usb/client/include/stub/commusb_notifications.h b/stub/communication_usb/client/include/stub/commusb_notifications.h
new file mode 100644
index 00000000..9a75cbbc
--- /dev/null
+++ b/stub/communication_usb/client/include/stub/commusb_notifications.h
@@ -0,0 +1,56 @@
+/*
+ * @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.
+ */
+
+/**
+ * @file commusb_notifications.h
+ * @~english
+ * @brief commusb_notifications I/F
+ */
+#ifndef COMMUNICATION_USB_CLIENT_INCLUDE_PERIPHERAL_SERVICE_COMMUSB_NOTIFICATIONS_H_
+#define COMMUNICATION_USB_CLIENT_INCLUDE_PERIPHERAL_SERVICE_COMMUSB_NOTIFICATIONS_H_
+
+/** @addtogroup BaseSystem
+ * @{
+ */
+/** @addtogroup peripheral_service
+ * @ingroup BaseSystem
+ * @{
+ */
+/** @addtogroup communication_usb
+ * @ingroup peripheral_service
+ * @{
+ */
+
+/**
+ * \~english PS_CommUSB service availability notify.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedSubscribeNotificationWithCallback(hApp, NTFY_CommUSB_Availability, OnRcvAvailable_USBEx);
+ * @endcode
+ */
+#define NTFY_CommUSB_Availability "PS_CommUSB/Availability"
+
+/**
+ * \~english USB Device Enumeration complete notify.
+ * \~ @code
+ * l_eStatus = FrameworkunifiedSubscribeNotificationWithCallback(hApp, NTFY_CommUSB_DeviceValidity, OnRcvDeviceValidity);
+ * @endcode
+ */
+#define NTFY_CommUSB_DeviceValidity "PS_CommUSB/DeviceValidity"
+
+/** @}*/ // end of communication_usb
+/** @}*/ // end of peripheral_service
+/** @}*/ // end of BaseSystem
+#endif // COMMUNICATION_USB_CLIENT_INCLUDE_PERIPHERAL_SERVICE_COMMUSB_NOTIFICATIONS_H_
diff --git a/stub/communication_usb/client/src/commusb_api.cpp b/stub/communication_usb/client/src/commusb_api.cpp
new file mode 100644
index 00000000..c0aa0214
--- /dev/null
+++ b/stub/communication_usb/client/src/commusb_api.cpp
@@ -0,0 +1,33 @@
+/*
+ * @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.
+ */
+
+/*
+ * Information.
+ * This source code is a sample source code .
+ * Implementation of the function must be performed by the vendor.
+ */
+
+#include <native_service/frameworkunified_framework_if.h>
+#include <stub/commusb_api.h>
+
+EFrameworkunifiedStatus USB_Auth_Info(HANDLE h_app, uint8_t auth_info) {
+ /*
+ * Note.
+ * This feature needs to be implemented by the vendor.
+ */
+ return eFrameworkunifiedStatusOK;
+}
+