2 * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
21 * DevDetectSrv service-to-service interface
24 /*---------------------------------------------------------------------------------*
26 *---------------------------------------------------------------------------------*/
27 #include <vehicle_service/positioning_base_library.h>
28 #include "DevDetectSrvIf.h"
30 /*---------------------------------------------------------------------------------*
32 *---------------------------------------------------------------------------------*/
34 /*---------------------------------------------------------------------------------*
36 *---------------------------------------------------------------------------------*/
38 /*---------------------------------------------------------------------------------*
39 * Local Function Prototype *
40 *---------------------------------------------------------------------------------*/
42 /*---------------------------------------------------------------------------------*
44 *---------------------------------------------------------------------------------*/
45 static BOOL g_dev_detect_srv_availability = FALSE;
47 /** Device insertion detection */
48 DeviceDetectionServiceIf g_if_ss_dev;
51 /*---------------------------------------------------------------------------------*
53 *---------------------------------------------------------------------------------*/
56 * DevDetectSrv Services IF-Availability Settings
58 * @param[in] b_is_available Available state
61 void DevDetectSrvIfSetAvailability(BOOL b_is_available) {
62 g_dev_detect_srv_availability = b_is_available;
64 FRAMEWORKUNIFIEDLOG(ZONE_INFO, __FUNCTION__, \
65 "g_dev_detect_srv_availability=%d", g_dev_detect_srv_availability);
72 * DevDetectSrv Services IF-Initialization
74 * @return eFrameworkunifiedStatusOK
75 * @return eFrameworkunifiedStatusFail
77 EFrameworkunifiedStatus DevDetectSrvIfInitialize(void) {
78 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
82 happ = _pb_GetAppHandle();
84 bret = g_if_ss_dev.Initialize(happ);
86 estatus = eFrameworkunifiedStatusOK;
88 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, \
89 "g_if_ss_dev::Initialize ERROR!! [estatus=%d]", estatus);
92 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "_pb_GetAppHandle ERROR!! [happ=%p]", happ);
100 * DevDetectSrv Services IF Availability Change Notification Registration
102 * @param[in] fp_call_back_fn Callback function
103 * @return eFrameworkunifiedStatusOK
104 * @return eFrameworkunifiedStatusFail
106 EFrameworkunifiedStatus DevDetectSrvIfNotifyOnDeviceDetectionAvailability(CbFuncPtr fp_call_back_fn) {
107 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
109 estatus = g_if_ss_dev.NotifyOnDeviceDetectionAvailability(fp_call_back_fn);
110 if (eFrameworkunifiedStatusOK != estatus) {
111 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__,
112 "DeviceDetectionServiceIf Availability ERROR!! [estatus = %d]", estatus);
120 * DevDetectSrv Services IF OpenSessionRequest Complete Answer Receive Callback Registration
122 * @param[in] fp_call_back_fn Callback function
123 * @param[out] pb_is_available Available state
124 * @return eFrameworkunifiedStatusOK
125 * @return eFrameworkunifiedStatusFail
127 EFrameworkunifiedStatus DevDetectSrvIfNotifyOnOpenSessionAck(CbFuncPtr fp_call_back_fn, BOOL* pb_is_available) {
128 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
130 if (g_dev_detect_srv_availability == TRUE) {
131 estatus = g_if_ss_dev.NotifyOnOpenSessionAck(fp_call_back_fn);
133 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_dev_detect_srv_availability=FALSE");
136 *pb_is_available = g_dev_detect_srv_availability;
143 * DevDetectSrv Services IF CloseSessionRequest Complete Answer Receive Callback Registration
145 * @param[in] fp_call_back_fn Callback function
146 * @param[out] pb_is_available Available state
147 * @return eFrameworkunifiedStatusOK
148 * @return eFrameworkunifiedStatusFail
150 EFrameworkunifiedStatus DevDetectSrvIfNotifyOnCloseSessionAck(CbFuncPtr fp_call_back_fn, BOOL* pb_is_available) {
151 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
153 if (g_dev_detect_srv_availability == TRUE) {
154 estatus = g_if_ss_dev.NotifyOnCloseSessionAck(fp_call_back_fn);
156 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_dev_detect_srv_availability=FALSE");
159 *pb_is_available = g_dev_detect_srv_availability;
166 * DevDetectSrv Service IF Service and Session Generation
168 * @param[out] pb_is_available Available state
169 * @return eFrameworkunifiedStatusOK
170 * @return eFrameworkunifiedStatusFail
172 EFrameworkunifiedStatus DevDetectSrvIfOpenSessionRequest(BOOL* pb_is_available) {
173 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
175 if (g_dev_detect_srv_availability == TRUE) {
176 estatus = g_if_ss_dev.OpenSessionRequest();
178 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_dev_detect_srv_availability=FALSE");
181 *pb_is_available = g_dev_detect_srv_availability;
188 * DevDetectSrv Services IF-Session Id Retention
190 * @param[out] pb_is_available Available state
191 * @return eFrameworkunifiedStatusOK
192 * @return eFrameworkunifiedStatusFail
194 EFrameworkunifiedStatus DevDetectSrvIfDecodeOpenSessionResponse(BOOL* pb_is_available) {
195 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
197 if (g_dev_detect_srv_availability == TRUE) {
198 estatus = g_if_ss_dev.DecodeOpenSessionResponse();
200 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_dev_detect_srv_availability=FALSE");
203 *pb_is_available = g_dev_detect_srv_availability;
210 * DevDetectSrv Services IF-Device Event Receive Callback Registration
212 * @param[in] fe_dev_detect_event
213 * @param[in] fp_call_back_fn
214 * @param[in] p_file_path
215 * @param[out] pb_is_available Available state
216 * @return eFrameworkunifiedStatusOK
217 * @return eFrameworkunifiedStatusFail
219 EFrameworkunifiedStatus DevDetectSrvIfRegisterForDeviceDetectionEvent(SS_DeviceDetectionServerEvents fe_dev_detect_event, \
220 CbFuncPtr fp_call_back_fn, PCSTR p_file_path, BOOL* pb_is_available) {
221 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
223 if (g_dev_detect_srv_availability == TRUE) {
224 estatus = g_if_ss_dev.RegisterForDeviceDetectionEvent(fe_dev_detect_event, fp_call_back_fn, p_file_path);
226 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_dev_detect_srv_availability=FALSE");
229 *pb_is_available = g_dev_detect_srv_availability;
236 * DevDetectSrv Services IF DeviceDetectionServiceIf Callback Release
238 * @param[in] fe_dev_detect_event
239 * @param[out] pb_is_available Available state
240 * @return eFrameworkunifiedStatusOK
241 * @return eFrameworkunifiedStatusFail
243 EFrameworkunifiedStatus DevDetectSrvIfUnRegisterForDeviceDetectionEvent(SS_DeviceDetectionServerEvents fe_dev_detect_event, \
244 BOOL* pb_is_available) {
245 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
247 if (g_dev_detect_srv_availability == TRUE) {
248 estatus = g_if_ss_dev.UnRegisterForDeviceDetectionEvent(fe_dev_detect_event);
250 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_dev_detect_srv_availability=FALSE");
253 *pb_is_available = g_dev_detect_srv_availability;
260 * DevDetectSrv Service IF Service and Destroy Sessions
262 * @param[out] pb_is_available Available state
263 * @return eFrameworkunifiedStatusOK
264 * @return eFrameworkunifiedStatusFail
266 EFrameworkunifiedStatus DevDetectSrvIfCloseSessionRequest(BOOL* pb_is_available) {
267 EFrameworkunifiedStatus estatus = eFrameworkunifiedStatusFail;
269 if (g_dev_detect_srv_availability == TRUE) {
270 estatus = g_if_ss_dev.CloseSessionRequest();
272 FRAMEWORKUNIFIEDLOG(ZONE_ERR, __FUNCTION__, "g_dev_detect_srv_availability=FALSE");
275 *pb_is_available = g_dev_detect_srv_availability;