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.
18 * @file ss_sm_client_if.h
19 * @brief \~english This file supports the AGL framework client interface to System manager.
21 /** @addtogroup BaseSystem
24 /** @addtogroup system_service
28 /** @addtogroup interface_unified
29 * @ingroup system_service
34 #ifndef __SS_SYSTEM_MANAGER_CLIENT_IF_H__ // NOLINT (build/header_guard)
35 #define __SS_SYSTEM_MANAGER_CLIENT_IF_H__
37 #include <native_service/frameworkunified_framework_types.h>
38 #include <native_service/ns_logger_if.h>
40 #include "system_service/ss_power_service.h"
41 #include "system_service/ss_system_manager_if.h"
44 /////////////////////////////////////////////////////////////////////////////////////
45 /// \ingroup RegisterSMSessionAckCallback
46 /// \~english @par Summary
47 /// API for setting the FrameworkunifiedOnStop response
48 /// \~english @param [in] CallbackPtr
49 /// EFrameworkunifiedStatus - Pointer to a callback function
51 /// - TRUE : Not carried out in the automatic response.
52 /// - FALSE : Carry out the response in automatic. (Default)
53 /// \~english @retval VOID None
54 /// \~english @par Preconditions
55 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
56 /// \~english @par Change of the internal state
57 /// - The internal state is not changed.
58 /// \~english @par Causes of failures
60 /// \~english @par Classification
62 /// \~english @par Type
63 /// Sync only(None communication)
64 /// \~english @par Detail
65 /// In the case of is_start_required = TURE, Client Services of System Manager, automatically \n
66 /// System Manager and the session at the same time is building and start-up. \n
67 /// It is possible to receive a call back at the timing when the session establishment is completed \n
69 /// is_start_required is, as a Launch Configuration information, have the following meanings.
71 /// is_start_required \n
72 /// - True: Create a session with the System Manager.(Service to use the Dispatcher.) \n
73 /// - False: Not create a session with the System Manager.(Do not use the Dispatcher Service.)
74 /// OnStart/Stop/DebugDump Callback is not called. HeartBeat function does not apply.
75 /// \~english @see None
76 ////////////////////////////////////////////////////////////////////////////////////
77 extern EFrameworkunifiedStatus RegisterSMSessionAckCallback(EFrameworkunifiedStatus (*CallbackPtr)(HANDLE));
79 /////////////////////////////////////////////////////////////////////////////////////
80 /// \ingroup SetDataResetModeToSystemManager
81 /// \~english @par Summary
82 /// API to record the data reset mode of the next boot in a non-volatile area.
83 /// \~english @param [in] dataResetMode
84 /// ESMDataResetModeInfo - Data reset mode information
86 /// - e_SS_SM_DATA_RESET_MODE_NONE : Do not initialize
87 /// - e_SS_SM_DATA_RESET_MODE_USER : User data initialization
88 /// - e_SS_SM_DATA_RESET_MODE_FACTORY : Factory initialization
89 /// \~english @retval eFrameworkunifiedStatusOK Success
90 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
91 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
92 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
93 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
94 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
95 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
96 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
97 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
98 /// \~english @retval eFrameworkunifiedStatusBadConnection Socket connection error
99 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
100 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
101 /// \~english @par Preconditions
102 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
103 /// \~english @par Change of the internal state
104 /// - The internal state is not changed.
105 /// \~english @par Causes of failures
106 /// - Specified log type is invalid(In the case of value which does not correspond to enum eSMUserLogType).
107 /// [eFrameworkunifiedStatusInvldParam]
108 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
109 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
110 /// - System Manager handle type for the session is not a send and receive type. [eFrameworkunifiedStatusInvldHndlType]
111 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
112 /// - Send and receive for the file descriptor of System Manager message for the session is invalid.
113 /// [eFrameworkunifiedStatusErrNoEBADF]
114 /// - Place to interrupt by the system call (signal) has occurred during the send and receive of the System
115 /// Manager message for the session. [eFrameworkunifiedStatusErrNoEINTR]
116 /// - Size of the send and receive buffer of the System Manager message for the session is invalid.
117 /// [eFrameworkunifiedStatusInvldBufSize]
118 /// - Send and receive and reception of System Manager message for the session fails to socket connection.
119 /// [eFrameworkunifiedStatusBadConnection]
120 /// - Any error has occurred at the time of send and receive of the System Manager message for the session.
121 /// [eFrameworkunifiedStatusFail]
122 /// - Send and receive of System Manager message for the session fails to shared memory access.
123 /// [eFrameworkunifiedStatusErrOther]
124 /// \~english @par Classification
126 /// \~english @par Type
127 /// Fire and Forget x Method
128 /// \~english @par Detail
129 /// The data reset mode to save in a non-volatile area, the function return.\n
130 /// System Manager is to expand the resident service data reset mode of the non-volatile area as\n
131 /// an argument of FrameworkunifiedOnStart.\n
132 /// Task Manager is Callback data initialization interface of the same information as an argument.\n
133 /// All of, the completion of the FrameworkunifiedOnStart processing of all resident services (System Manager) \n
134 /// and, at the timing when the Callback of data initialization interface of all non-resident \n
135 /// service has been completed (Task Manager), a data reset mode, initialized to e_SS_SM_DATA_RESET_ NONE. \n
136 /// In other words, when the reset until initialization occurs, the same data reset mode again to \n
137 /// the argument, FrameworkunifiedOnStart or, Callback of data initialization interface is performed.
138 /// \~english @see SetProgUpdateStateToSystemManager
139 ////////////////////////////////////////////////////////////////////////////////////
140 extern EFrameworkunifiedStatus SetDataResetModeToSystemManager(ESMDataResetModeInfo dataResetMode);
142 /////////////////////////////////////////////////////////////////////////////////////
143 /// \ingroup SetProgUpdateStateToSystemManager
144 /// \~english @par Summary
145 /// API to record the program update state in the non-volatile information.
146 /// \~english @param [in] updateState
147 /// SMProgUpdateState - Program update status
149 /// - SS_SM_PROG_UPDATE_STATE_UPDATED : Program update
150 /// - SS_SM_PROG_UPDATE_STATE_MAP_UPDATED : Map update
151 /// - SS_SM_PROG_UPDATE_STATE_MAPDIFF_UPDATED : Map difference updating
152 /// \~english @retval eFrameworkunifiedStatusOK Success
153 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
154 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
155 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
156 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
157 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
158 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
159 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
160 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
161 /// \~english @retval eFrameworkunifiedStatusBadConnection Socket connection error
162 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
163 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
164 /// \~english @par Preconditions
165 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
166 /// \~english @par Change of the internal state
167 /// - The internal state is not changed.
168 /// \~english @par Causes of failures
169 /// - Specified program update status information is invalid (in the case of a value that does not correspond to
170 /// the enum SMProgUpdateState). [eFrameworkunifiedStatusInvldParam]
171 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
172 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
173 /// - System Manager handle type for the session is not a send and receive type. [eFrameworkunifiedStatusInvldHndlType]
174 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
175 /// - Send and receive for the file descriptor of System Manager message for the session is invalid.
176 /// [eFrameworkunifiedStatusErrNoEBADF]
177 /// - Place to interrupt by the system call (signal) has occurred during the send and receive of the System
178 /// Manager message for the session. [eFrameworkunifiedStatusErrNoEINTR]
179 /// - Size of the send and receive buffer of the System Manager message for the session is invalid.
180 /// [eFrameworkunifiedStatusInvldBufSize]
181 /// - Send and receive and reception of System Manager message for the session fails to socket connection.
182 /// [eFrameworkunifiedStatusBadConnection]
183 /// - Any error has occurred at the time of send and receive of the System Manager message for the session.
184 /// [eFrameworkunifiedStatusFail]
185 /// - Send and receive of System Manager message for the session fails to shared memory access.
186 /// [eFrameworkunifiedStatusErrOther]
187 /// \~english @par Classification
189 /// \~english @par Type
190 /// Sync only(None communication)
191 /// \~english @par Detail
192 /// The program update state to save in a non-volatile area, the function return.\n
193 /// updateState is it is possible to specify more than one by setting the OR.\n
194 /// Based on the setting state, to determine isProgUpdated, isMapUpdated, the value \n
195 /// of the isMapDiffUpdated provided in GetInterfaceunifiedOnStartExtInfo and GetInterfaceunifiedOnStopExtInfo.\n
196 /// Task Manager is provided in data initialization interface, the same information to the non-resident service.\n
197 /// Set state is initialized with the same timing as data reset mode.\n
198 /// (See SetDataResetModeToSystemManager)
199 /// \~english @see SetDataResetModeToSystemManager, GetInterfaceunifiedOnStartExtInfo, GetInterfaceunifiedOnStopExtInfo
200 ////////////////////////////////////////////////////////////////////////////////////
201 extern EFrameworkunifiedStatus SetProgUpdateStateToSystemManager(SMProgUpdateState progUpdateState);
203 /////////////////////////////////////////////////////////////////////////////////////
204 /// \ingroup SendCpuResetRequestToSystemManager
205 /// \~english @par Summary
206 /// API to request LOG saved to the internal non-volatile area
207 /// \~english @param [in] l_eCpuResetReason
208 /// ESMCpuResetReason - Reset factor
209 /// \~english @param [in] f_messageStr
210 /// std::string - Abnormal message string
211 /// \~english @param [in] f_suffixStr
212 /// std::string - Suffix string of abnormal LOG file
214 /// enum ESMCpuResetReason Variable
215 /// - e_SS_SM_CPU_RESET_REASON_NORMAL : Normal Reset
216 /// - e_SS_SM_CPU_RESET_REASON_DATA_RESET : Data Reset
217 /// - e_SS_SM_CPU_RESET_REASON_USER_FORCE_RESET : User forced reset
218 /// - e_SS_SM_CPU_RESET_REASON_GENERIC_ERR : Generic Error reset
219 /// - e_SS_SM_CPU_RESET_REASON_DSP_ERR : DSP Error
220 /// - e_SS_SM_CPU_RESET_REASON_IMMRESET_NORMAL : Reset immediately
221 /// \~english @retval eFrameworkunifiedStatusOK Success
222 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
223 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
224 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
225 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
226 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
227 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
228 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
229 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
230 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
231 /// \~english @par Preconditions
232 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
233 /// \~english @par Change of the internal state
234 /// - The internal state is not changed.
235 /// \~english @par Causes of failures
236 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
237 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
238 /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType]
239 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
240 /// - Transmission for the file descriptor of System Manager message for the session is invalid.
241 /// [eFrameworkunifiedStatusErrNoEBADF]
242 /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager
243 /// message for the session. [eFrameworkunifiedStatusErrNoEINTR]
244 /// - Size of the transmission buffer of the System Manager message for the session is invalid.
245 /// [eFrameworkunifiedStatusInvldBufSize]
246 /// - Any error has occurred at the time of transmission of the System Manager message for the session.
247 /// [eFrameworkunifiedStatusFail]
248 /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther]
249 /// \~english @par Classification
251 /// \~english @par Type
252 /// Sync only(None communication)
253 /// \~english @par Detail
254 /// Collect the LOG information and stores it in the built-in non-volatile area.\n
255 /// String specified in f_suffixStr is added as a suffix to the end of the abnormal LOG file name.
258 ////////////////////////////////////////////////////////////////////////////////////
259 extern EFrameworkunifiedStatus SendCpuResetRequestToSystemManager(ESMCpuResetReason l_eCpuResetReason,
260 std::string f_messageStr = "", std::string f_suffixStr = "");
262 ////////////////////////////////////////////////////////////////////////////////////////////
263 /// \ingroup SetNextWakeupTypeToSystemManager
264 /// \~english @par Summary
265 /// Set the next wakeup type.
266 /// \~english @param [in] f_wakeupType
267 /// ESMNextWakeupType - Wakeup type
268 /// \~english @retval eFrameworkunifiedStatusOK Success
269 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
270 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
271 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
272 /// \~english @par Preconditions
273 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
274 /// \~english @par Change of the internal state
275 /// - The internal state is not changed.
276 /// \~english @par Classification
278 /// \~english @par Type
280 /// \~english @par Detail
281 /// - The API sets the next wakeup type (COLD/HOT/Not specified).
283 /// - Include ss_sm_client_if.h
284 /// - Library libSS_SystemIfUnified.so
287 ////////////////////////////////////////////////////////////////////////////////////////////
288 extern EFrameworkunifiedStatus SetNextWakeupTypeToSystemManager(ESMNextWakeupType f_wakeupType);
291 /////////////////////////////////////////////////////////////////////////////////////
292 /// \ingroup Set_UseStopCompleteNotificationVsInterfaceunifiedOnStopFnc_StateVar
293 /// \~english @par Summary
294 /// API for setting the FrameworkunifiedOnStop response
295 /// \~english @param [in] f_setTrue
296 /// BOOL - Response presence or absence of specified
298 /// - TRUE : Not carried out in the automatic response.
299 /// - FALSE : Carry out the response in automatic. (Default)
300 /// \~english @retval VOID None
301 /// \~english @par Preconditions
302 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
303 /// \~english @par Change of the internal state
304 /// - The internal state is not changed.
305 /// \~english @par Causes of failures
307 /// \~english @par Classification
309 /// \~english @par Type
310 /// Sync only(None communication)
311 /// \~english @par Detail
312 /// In case you can not return the response in the synchronized by FrameworkunifiedOnStop, by setting to \n
313 /// TRUE in this API, it is possible to implement the completion notice to the system_manager \n
314 /// the service side.
315 /// At this time, the service is by to Publish the Notification of "service name/StopComp", \n
316 /// you are possible to notify the STOP completion to system_manager.
317 /// \~english @see None
318 ////////////////////////////////////////////////////////////////////////////////////
319 VOID Set_UseStopCompleteNotificationVsInterfaceunifiedOnStopFnc_StateVar(BOOL f_SetTrue);
321 /////////////////////////////////////////////////////////////////////////////////////
322 /// \ingroup SendUserInvokedLoggingRequestToSystemManager
323 /// \~english @par Summary
324 /// API to request LOG saved to the internal non-volatile area
325 /// \~english @param [in] f_userInvokedLogType
326 /// \ref eSMUserLogType - User invoked log type.
327 /// \~english @param [in] f_messageStr
328 /// std::string - Abnormal message string
329 /// \~english @param [in] f_suffixStr
330 /// std::string - Suffix string of abnormal LOG file
331 /// \~english @retval eFrameworkunifiedStatusOK Success
332 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
333 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
334 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
335 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
336 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
337 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
338 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
339 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
340 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
341 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
342 /// \~english @par Preconditions
343 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
344 /// \~english @par Change of the internal state
345 /// - The internal state is not changed.
346 /// \~english @par Causes of failures
347 /// - Log type is invalid(In the case of value which does not correspond to enum eSMUserLogType).
348 /// [eFrameworkunifiedStatusInvldParam]
349 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
350 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
351 /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType]
352 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
353 /// - Transmission for the file descriptor of System Manager message for the session is invalid.
354 /// [eFrameworkunifiedStatusErrNoEBADF]
355 /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager
356 /// message for the session. [eFrameworkunifiedStatusErrNoEINTR]
357 /// - Size of the transmission buffer of the System Manager message for the session is invalid.
358 /// [eFrameworkunifiedStatusInvldBufSize]
359 /// - Any error has occurred at the time of transmission of the System Manager message for the session.
360 /// [eFrameworkunifiedStatusFail]
361 /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther]
362 /// \~english @par Classification
364 /// \~english @par Type
365 /// Sync only(None communication)
366 /// \~english @par Detail
367 /// Collect the LOG information and stores it in the built-in non-volatile area.\n
368 /// String specified in f_suffixStr is added as a suffix to the end of the abnormal LOG file name.
369 /// \~english @see SendClearLogsRequestToSystemManager
370 ////////////////////////////////////////////////////////////////////////////////////
371 EFrameworkunifiedStatus SendUserInvokedLoggingRequestToSystemManager(eSMUserLogType f_userInvokedLogType,
372 std::string f_messageStr = "", std::string f_suffixStr = "");
374 /////////////////////////////////////////////////////////////////////////////////////
375 /// \ingroup SendInterfaceunifiedOnStopResponseToSystemManager
376 /// \~english @par Summary
377 /// API to send a FrameworkunifiedOnStop response
378 /// \~english @param [in] f_eStatus
379 /// EFrameworkunifiedStatus - End status
381 /// - eFrameworkunifiedStatusOK : End processing completion
382 /// - eFrameworkunifiedStatusFail : End processing uncompleted
383 /// \~english @retval eFrameworkunifiedStatusOK Success
384 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
385 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
386 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
387 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
388 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
389 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
390 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
391 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
392 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
393 /// \~english @par Preconditions
394 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
395 /// \~english @par Change of the internal state
396 /// - The internal state is not changed.
397 /// \~english @par Causes of failures
398 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
399 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
400 /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType]
401 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
402 /// - Transmission for the file descriptor of System Manager message for the session is invalid.
403 /// [eFrameworkunifiedStatusErrNoEBADF]
404 /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager
405 /// message for the session. [eFrameworkunifiedStatusErrNoEINTR]
406 /// - Size of the transmission buffer of the System Manager message for the session is invalid.
407 /// [eFrameworkunifiedStatusInvldBufSize]
408 /// - Any error has occurred at the time of transmission of the System Manager message for the session.
409 /// [eFrameworkunifiedStatusFail]
410 /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther]
411 /// \~english @par Classification
413 /// \~english @par Type
414 /// Fire and Forget only
415 /// \~english @par Detail
416 /// In case you can not return the response in the synchronized by FrameworkunifiedOnStop, by setting to \n
417 /// TRUE in this API, it is possible to implement the completion notice to the system_manager \n
418 /// the service side.
419 /// At this time, the service is by to Publish the Notification of "service name/StopComp", \n
420 /// you are possible to notify the STOP completion to system_manager.
421 /// \~english @see None
422 ////////////////////////////////////////////////////////////////////////////////////
423 EFrameworkunifiedStatus SendInterfaceunifiedOnStopResponseToSystemManager(EFrameworkunifiedStatus f_eStatus);
425 /////////////////////////////////////////////////////////////////////////////////////
426 /// \ingroup GetInterfaceunifiedOnStartExtInfo
427 /// \~english @par Summary
428 /// API to get the extended information of the start-up parameters.
429 /// \~english @param [out] f_info
430 /// T_SS_SM_START_ExtDataStructType - Startup parameters extended information
432 /// T_SS_SM_START_ExtDataStructType Structure
436 /// BOOL isProgUpdated;
437 /// EMRelaunchStatus relaunchStatus;
438 /// BOOL isMapUpdated;
439 /// BOOL isMapDiffUpdated;
440 /// uint8_t reserved[];
441 /// }T_SS_SM_START_ExtDataStructType;
444 /// isProgUpdated:Presence or absence of a program update
445 /// - TRUE : Yes program update
446 /// - FALSE : No program update
448 /// relaunchStatus:Relaunch state of self-service
449 /// - e_SS_SM_RELAUNCH_STATUS_NONE : Relaunch non-occurrence (first start)
450 /// - e_SS_SM_RELAUNCH_STATUS_SAFE : Normal Relaunch
451 /// - e_SS_SM_RELAUNCH_STATUS_ERR : Abnormal Relaunch
453 /// isMapUpdated:Presence or absence of a map update
454 /// - TRUE : Yes map update
455 /// - FALSE : No map update
457 /// isMapDiffUpdated:The presence or absence of the map difference updating
458 /// - TRUE : Yes map difference update
459 /// - FALSE : No map difference update
460 /// \~english @retval eFrameworkunifiedStatusOK Success
461 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
462 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
463 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
464 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
465 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
466 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
467 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
468 /// \~english @retval eFrameworkunifiedStatusBadConnection Failure to socket connection
469 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred(Socket Connection/Memory Allocation/Event Control)
470 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
471 /// \~english @par Preconditions
472 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
473 /// \~english @par Change of the internal state
474 /// - The internal state is not changed.
475 /// \~english @par Causes of failures
476 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
477 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
478 /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType]
479 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
480 /// - Transmission for the file descriptor of System Manager message for the session is invalid.
481 /// [eFrameworkunifiedStatusErrNoEBADF]
482 /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager
483 /// message for the session. [eFrameworkunifiedStatusErrNoEINTR]
484 /// - Size of the transmission buffer of the System Manager message for the session is invalid.
485 /// [eFrameworkunifiedStatusInvldBufSize]
486 /// - Transmission and reception of System Manager message for the session fails to socket connection.
487 /// [eFrameworkunifiedStatusBadConnection]
488 /// - In the case of the message queue open error for reception of System Manager message for the session.
489 /// [eFrameworkunifiedStatusFail]
490 /// - System Manager message for the session fails to acquire the message buffer for reception. [eFrameworkunifiedStatusFail]
491 /// - System Manager message for the session fails in the event control for the reception. [eFrameworkunifiedStatusFail]
492 /// - Any error has occurred at the time of transmission and receive of the System Manager message for the
493 /// session. [eFrameworkunifiedStatusFail]
494 /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther]
495 /// \~english @par Classification
497 /// \~english @par Type
498 /// Sync only(None communication)
499 /// \~english @par Detail
500 /// Returns the extended information of the parameters of FrameworkunifiedOnStart(). \n
501 /// It is assumed that that will be called in the FrameworkunifiedOnStart (), return the correct value when it is called prior
503 /// to the issuance FrameworkunifiedOnStart() is not guaranteed.\n
504 /// System startup to relaunchStatus is e_SS_SM_RELAUNCH_STATUS_NONE, the service is a case that has been Relaunch
506 /// by the exit (SS_SM_EXIT_RELAUNCH) _SS_SM_RELAUNCH_STATUS_SAFE, if the Relaunch due to the abnormality occurs
508 /// set the e_SS_SM_RELAUNCH_STATUS_ERR.
509 /// \~english @see GetInterfaceunifiedOnStopExtInfo, FrameworkunifiedOnStart
510 ////////////////////////////////////////////////////////////////////////////////////
511 EFrameworkunifiedStatus GetInterfaceunifiedOnStartExtInfo(T_SS_SM_START_ExtDataStructType &f_info); // NOLINT (runtime/references)
513 /////////////////////////////////////////////////////////////////////////////////////
514 /// \ingroup GetInterfaceunifiedOnStopExtInfo
515 /// \~english @par Summary
516 /// API to get the extended information of the end parameter.
517 /// \~english @param [out] f_info
518 /// T_SS_SM_STOP_ExtDataStructType - Exit extended parameter information
520 /// T_SS_SM_STOP_ExtDataStructType Structure
524 /// BOOL isProgUpdated;
525 /// uint8_t reserved[];
526 /// }T_SS_SM_START_ExtDataStructType;
529 /// isProgUpdated:Presence or absence of a program update
530 /// - TRUE : Yes program update
531 /// - FALSE : No program update
532 /// \~english @retval eFrameworkunifiedStatusOK Success
533 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
534 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
535 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
536 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
537 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
538 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
539 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
540 /// \~english @retval eFrameworkunifiedStatusBadConnection Failure to socket connection
541 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred(Socket Connection/Memory Allocation/Event Control)
542 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
543 /// \~english @par Preconditions
544 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
545 /// \~english @par Change of the internal state
546 /// - The internal state is not changed.
547 /// \~english @par Causes of failures
548 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
549 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
550 /// - System Manager handle type for the session is not a send and receive type. [eFrameworkunifiedStatusInvldHndlType]
551 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
552 /// - File descriptor not for the transmission and reception of the System Manager of the session message.
553 /// [eFrameworkunifiedStatusErrNoEBADF]
554 /// - Interruption by the system call (signal) occurs during the transmission and reception of the System Manager
555 /// of the session message. [eFrameworkunifiedStatusErrNoEINTR]
556 /// - The size of the transmit and receive buffer of the System Manager of the session message is invalid.
557 /// [eFrameworkunifiedStatusInvldBufSize]
558 /// - It failed to socket connection for transmission and reception of the System Manager of the session message.
559 /// [eFrameworkunifiedStatusBadConnection]
560 /// - Open error of the message queue for the reception of the System Manager of the session message.
561 /// [eFrameworkunifiedStatusFail]
562 /// - And fail to acquire the message buffer for reception of the System Manager of the session message.
563 /// [eFrameworkunifiedStatusFail]
564 /// - It failed in the event control for the reception of the System Manager of the session message.
565 /// [eFrameworkunifiedStatusFail]
566 /// - It failed during transmission and reception of the System Manager of the session message. [eFrameworkunifiedStatusFail]
567 /// - It failed to shared memory access for transmission and reception of the System Manager of the session
568 /// message. [eFrameworkunifiedStatusErrOther]
569 /// \~english @par Classification
571 /// \~english @par Type
572 /// Sync only(None communication)
573 /// \~english @par Detail
574 /// Returns the extended information of the parameters of FrameworkunifiedOnStop(). \n
575 /// It is assumed that that will be called in the FrameworkunifiedOnStop (), return of the correct value in the case \n
576 /// that has been called before FrameworkunifiedOnStop() entry into force is not guaranteed.
577 /// \~english @see GetInterfaceunifiedOnStartExtInfo, FrameworkunifiedOnStop
578 ////////////////////////////////////////////////////////////////////////////////////
579 EFrameworkunifiedStatus GetInterfaceunifiedOnStopExtInfo(T_SS_SM_STOP_ExtDataStructType &f_info); // NOLINT (runtime/references)
581 ////////////////////////////////////////////////////////////////////////////////////////////
582 /// \ingroup SendDebugDumpResponseToSystemManager
583 /// \~english @par Summary
584 /// Send a debug dump response to system_manager
585 /// \~english @param [in] f_bFormatStrRequired
586 /// BOOL - Specify whether to dump the application name or not
587 /// \~english @param [in] f_cFormat
588 /// PCSTR - Display format for the dump (the same character strings format as the printf format)
589 /// \~english @param [in] arg_list
590 /// ... - Dump data in line with f_cFormat format
592 /// f_bFormatStrRequired
593 /// - true Dump the application name
594 /// - false Do not dump the application name
595 /// \~english @retval None
596 /// \~english @par Precondition
598 /// \~english @par Change in the internal status
599 /// - The change in the internal status does not occur by this API.
600 /// \~english @par Classification
602 /// \~english @par Type
603 /// Fire and Forget only
604 /// \~english @par Detail
605 /// When f_bFormatStrRequired is true, write the application name to the buffer for dump. \n
606 /// Write the data to the buffer for dump in line with f_cFormat. \n
607 /// Send OnDebugDumpResponseReceived to the SystemManger in order to request the SystemManger to
608 /// write the contents in the buffer for dump to the log file for debug. \n
609 /// The maximum size of the buffer for dump is 4Kbyte and the string size of the application name
610 /// is deducted when the application name is dumped. \n
611 /// When dumping a string which exceeds 4Kbyte, drop what exceeds the buffer.
613 ////////////////////////////////////////////////////////////////////////////////////////////
614 void SendDebugDumpResponseToSystemManager(BOOL f_bFormatStrRequired, PCSTR f_cFormat, ...)
616 __attribute__((format(printf, 2, 3)));
619 /////////////////////////////////////////////////////////////////////////////////////
620 /// \ingroup SendInterfaceunifiedEmmcLogsRequestToSystemManager
621 /// \~english @par Summary
622 /// API to request a copy to the specified path of the LOG file of the built-in non-volatile area.
623 /// \~english @param [in] f_path
624 /// std::string - LOG destination file PATH
625 /// \~english @retval eFrameworkunifiedStatusOK Success
626 /// \~english @retval eFrameworkunifiedStatusInvldBuf Invalid buffer
627 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
628 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
629 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
630 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
631 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
632 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
633 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
634 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
635 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
636 /// \~english @par Preconditions
637 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
638 /// \~english @par Change of the internal state
639 /// - The internal state is not changed.
640 /// \~english @par Causes of failures
641 /// - LOG destination file PATH is NULL(If f_path.c_str() is NULL). [eFrameworkunifiedStatusInvldBuf]
642 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
643 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
644 /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType]
645 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
646 /// - Transmission for the file descriptor of System Manager message for the session is invalid.
647 /// [eFrameworkunifiedStatusErrNoEBADF]
648 /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager
649 /// message for the session. [eFrameworkunifiedStatusErrNoEINTR]
650 /// - Size of the transmission buffer of the System Manager message for the session is invalid.
651 /// [eFrameworkunifiedStatusInvldBufSize]
652 /// - Any error has occurred at the time of transmission of the System Manager message for the session.
653 /// [eFrameworkunifiedStatusFail]
654 /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther]
655 /// \~english @par Classification
657 /// \~english @par Type
659 /// \~english @par Detail
660 /// To copy all of the files that exist in LOG storage area of the built-in non-volatile area in \n
661 /// the path specified in the f_path. \n
662 /// If you do not have a copy target, asynchronous response command: Returns the eFrameworkunifiedStatusOK as \n
663 /// the message data of SS_SM_ERROR_EVENT_INTERFACEUNIFIED_EMMC_LOGS_RSPN.
664 /// \~english @see SendClearLogsRequestToSystemManager
665 ////////////////////////////////////////////////////////////////////////////////////
666 EFrameworkunifiedStatus SendInterfaceunifiedEmmcLogsRequestToSystemManager(std::string f_path);
668 /////////////////////////////////////////////////////////////////////////////////////
669 /// \ingroup SendClearLogsRequestToSystemManager
670 /// \~english @par Summary
671 /// API to clear the stored in the built-in non-volatile area log.
672 /// \~english @param [in] f_info
673 /// TSystemManagerClearLogsInfo - A pointer to the LOG clear information
675 /// TSystemManagerClearLogsInfo Structure
677 /// typedef struct T_SystemManagerClearLogsInfo{
680 /// }TSystemManagerClearLogsInfo;
683 /// rsv : Reserve area
684 /// \~english @retval eFrameworkunifiedStatusOK Success
685 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
686 /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer
687 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
688 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
689 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
690 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
691 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
692 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
693 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
694 /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory)
695 /// \~english @par Preconditions
696 /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE.
697 /// \~english @par Change of the internal state
698 /// - The internal state is not changed.
699 /// \~english @par Causes of failures
700 /// - Pointer to the LOG clear information (f_info) is NULL [eFrameworkunifiedStatusInvldParam]
701 /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer]
702 /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle]
703 /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType]
704 /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull]
705 /// - Transmission for the file descriptor of System Manager message for the session is invalid.
706 /// [eFrameworkunifiedStatusErrNoEBADF]
707 /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager
708 /// message for the session. [eFrameworkunifiedStatusErrNoEINTR]
709 /// - Size of the transmission buffer of the System Manager message for the session is invalid.
710 /// [eFrameworkunifiedStatusInvldBufSize]
711 /// - Any error has occurred at the time of transmission of the System Manager message for the session.
712 /// [eFrameworkunifiedStatusFail]
713 /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther]
714 /// \~english @par Classification
716 /// \~english @par Type
717 /// Fire and Forget x Sync
718 /// \~english @par Detail
719 /// To delete a LOG stored in the built-in non-volatile area.
720 /// \~english @see None
721 ////////////////////////////////////////////////////////////////////////////////////
722 EFrameworkunifiedStatus SendClearLogsRequestToSystemManager(TSystemManagerClearLogsInfo *f_info);
724 /** @}*/ // end of SystemIf
725 /** @}*/ // end of interface_unified
726 /** @}*/ // end of SystemService
727 /** @}*/ // end of BaseSystem
729 /////////////////////////////////////////////////////////////////////////////////////
730 /// \ingroup interface_unified
732 /// \brief AttachCallbackToSystemManager
734 /// \note This function is called by System Manager session clients to attach
735 /// a callback function to the client application with System Manager
736 /// configured as the specified sender of the specified protocol message.
738 /// \param [in] f_hApp
739 /// HANDLE - Handle to message queue of the System Manager attached client.
741 /// UI_32 iCmd - Command ID
742 /// \param [in] fpOnCmd
743 /// CbFuncPtr fpOnCmd - Function pointer to be called in the form upon
744 /// the invokation of the specified command ID. The callback function
745 /// must have the following signature : void (*)(HANDLE).
748 /// EFrameworkunifiedStatus - success or error
749 ////////////////////////////////////////////////////////////////////////////////////
750 extern EFrameworkunifiedStatus AttachCallbackToSystemManager(HANDLE hApp, UI_32 iCmd, CbFuncPtr fpOnCmd);
752 /////////////////////////////////////////////////////////////////////////////////////
753 /// \ingroup interface_unified
755 /// \brief Set of complementary detach functions that accept same arguments
756 /// as the InterfaceunifiedAttach_XYZ_ToDispatcher() functions do.
758 ////////////////////////////////////////////////////////////////////////////////////
759 extern EFrameworkunifiedStatus DetachCallbacksFromInterfaceunifiedDispatcher(HANDLE hApp,
761 const FrameworkunifiedProtocolCallbackHandler* pMsgHandler,
762 UI_32 uiHandlerCount,
763 HANDLE hSession = NULL);
765 /////////////////////////////////////////////////////////////////////////////////////
766 /// \ingroup interface_unified
768 ////////////////////////////////////////////////////////////////////////////////////
769 extern EFrameworkunifiedStatus DetachParentCallbacksFromInterfaceunifiedDispatcher(HANDLE hChildApp,
770 const FrameworkunifiedProtocolCallbackHandler* pMsgHandler,
771 UI_32 uiHandlerCount);
773 /////////////////////////////////////////////////////////////////////////////////////
774 /// \ingroup interface_unified
776 /// \brief GetSystemManagerSessionHandle
778 /// \note This function returns the session handle with System Manager
780 /// \return HANDLE - A session handle with System Manager
781 /////////////////////////////////////////////////////////////////////////////////////
782 extern HANDLE GetSystemManagerSessionHandle(void);
784 /////////////////////////////////////////////////////////////////////////////////////
785 /// \ingroup interface_unified
787 /// \brief SendShutdownToSystemManager
789 /// \note This function is called to send Shutdown command to System Manager
791 /// \param [in] pData
792 /// Pwr_ServiceSetInterface *pData - Pointer to Shutdown Command data
795 /// EFrameworkunifiedStatus - success or error
796 ////////////////////////////////////////////////////////////////////////////////////
797 extern EFrameworkunifiedStatus SendShutdownToSystemManager(Pwr_ServiceSetInterface *pData);
799 /////////////////////////////////////////////////////////////////////////////////////
800 /// \ingroup interface_unified
802 /// \brief SendSystemModeRequestToSystemManager
804 /// \note This function is called to send system mode request to System Manager
807 /// EFrameworkunifiedStatus - success or error
808 ////////////////////////////////////////////////////////////////////////////////////
809 extern EFrameworkunifiedStatus SendSystemModeRequestToSystemManager(void);
811 /////////////////////////////////////////////////////////////////////////////////////
812 /// \ingroup interface_unified
814 /// \brief SendInitCompReportToSystemManager
816 /// \note This function is called to send init comp report to System Manager
819 /// EFrameworkunifiedStatus - success or error
820 ////////////////////////////////////////////////////////////////////////////////////
821 extern EFrameworkunifiedStatus SendInitCompReportToSystemManager(void);
823 /////////////////////////////////////////////////////////////////////////////////////
824 /// \ingroup interface_unified
826 /// \brief SendWakeUpToSystemManager
828 /// \note This function is called to send the Wakeup command to System Manager
830 /// \param [in] pData
831 /// wakeInfo *pData - Pointer to Wakeup Command data
834 /// EFrameworkunifiedStatus - success or error
835 ////////////////////////////////////////////////////////////////////////////////////
836 extern EFrameworkunifiedStatus SendWakeUpToSystemManager(wakeInfo *pData);
838 /////////////////////////////////////////////////////////////////////////////////////
839 /// \ingroup interface_unified
841 /// \brief SendStartupConfirmationToSystemManager
843 /// \note This function is called to send the startup confirmation information
844 /// to System Manager
846 /// \param [in] l_startupConfirmationMsg
847 /// StartupConfirmationMsgStrut &l_startupConfirmationMsg - startup confirmation
850 /// EFrameworkunifiedStatus - success or error
851 ////////////////////////////////////////////////////////////////////////////////////
852 extern EFrameworkunifiedStatus SendStartupConfirmationToSystemManager(StartupConfirmationMsgStrut
853 &l_startupConfirmationMsg);
855 /////////////////////////////////////////////////////////////////////////////////////
856 /// \ingroup interface_unified
858 /// \brief SendSystemErrorToSystemManager
860 /// \note This function is called by an application via Native Services to send
861 /// notice of a critical error to System Manager when a non recoverable
862 /// run-time error is encountered.
867 /// EFrameworkunifiedStatus - success or error
868 ////////////////////////////////////////////////////////////////////////////////////
869 EFrameworkunifiedStatus SendSystemErrorToSystemManager(EFrameworkunifiedSystemError f_systemError);
871 /////////////////////////////////////////////////////////////////////////////////////
872 /// \ingroup interface_unified
874 /// \brief Send_CWORD56_HeartBeatRequestToSystemManager
876 /// \note This function forwards a _CWORD56_ heartbeat request received by power
877 /// services from the power shadow to System Manager.
882 /// EFrameworkunifiedStatus - success or error
883 ////////////////////////////////////////////////////////////////////////////////////
884 EFrameworkunifiedStatus Send_CWORD56_HeartBeatRequestToSystemManager(EPWR_HB_REQ_MSG_STRUCT f_HbReq);
886 /////////////////////////////////////////////////////////////////////////////////////
887 /// \ingroup interface_unified
889 /// \brief SendBootMicroResetNotificationToSystemManager
891 /// \param ResetReason Enumerated boot micro reset reason.
893 /// This function is called by Logging Shadow to inform System Manager of a
894 /// boot micro reset condition.
895 ////////////////////////////////////////////////////////////////////////////////////
896 EFrameworkunifiedStatus SendBootMicroResetNotificationToSystemManager(eSMBootMicroResetReason ResetReason);
898 /////////////////////////////////////////////////////////////////////////////////////
899 /// \ingroup interface_unified
901 /// \brief SendDiagLogEventRequestToSystemManager
903 /// \note This function is called by logger to initiate log artifact collection
904 /// and storage on behalf of diagnostic services.
906 /// \param f_copyDestPathStr
909 /// EFrameworkunifiedStatus - success or error
910 ////////////////////////////////////////////////////////////////////////////////////
911 EFrameworkunifiedStatus SendDiagLoggingRequestToSystemManager(std::string f_copyDestPathStr);
913 /////////////////////////////////////////////////////////////////////////////////////
914 /// \ingroup interface_unified
916 /// \brief SendCANLoggingRequestToSystemManager
918 /// \note This function is called by logger to initiate log artifact collection
919 /// and storage when signaled via CAN.
922 /// EFrameworkunifiedStatus - success or error
923 ////////////////////////////////////////////////////////////////////////////////////
924 EFrameworkunifiedStatus SendCANLoggingRequestToSystemManager(void);
926 /////////////////////////////////////////////////////////////////////////////////////
927 /// \ingroup interface_unified
929 /// \brief SendDTCLoggingRequestToSystemManager
931 /// \note This function is called by logger to initiate log artifact collection
932 /// and storage when signaled via diagnostic command.
934 /// \param f_dtc Diagnostic trouble code.
937 /// EFrameworkunifiedStatus - success or error
938 ////////////////////////////////////////////////////////////////////////////////////
939 EFrameworkunifiedStatus SendDTCLoggingRequestToSystemManager(UI_32 f_dtc);
941 /////////////////////////////////////////////////////////////////////////////////////
942 /// \ingroup interface_unified
944 /// \brief RegisterBootMicroLogRequestCb
946 /// This function is called by Logging Shadow to register a callback function for
947 /// the boot micro log request that may be generated by System Manager when an
948 /// error event occurs.
950 /// \param [in] hApp AGL Framework Application Handle
952 /// \param [in] fpOnCmd Call back function with the signature:
953 /// EFrameworkunifiedStatus fnct(HANDLE hApp);
956 /// EFrameworkunifiedStatus - success or error
957 ////////////////////////////////////////////////////////////////////////////////////
958 EFrameworkunifiedStatus RegisterBootMicroLogRequestCb(HANDLE hApp, CbFuncPtr fpOnCmd);
960 /////////////////////////////////////////////////////////////////////////////////////
961 /// \ingroup interface_unified
963 /// \brief SendBootMicroLogResponseToSystemManager
965 /// This function is called by Logging Shadow to provide a string representation of
966 /// the binary boot-micro log data.
969 /// EFrameworkunifiedStatus - success or error
970 ////////////////////////////////////////////////////////////////////////////////////
971 EFrameworkunifiedStatus SendBootMicroLogResponseToSystemManager(std::string f_logString);
973 ////////////////////////////////////////////////////////////////////////////////////////////
974 /// \ingroup interface_unified
975 /// \brief Redirect either formatted, or unformatted response output to System Manager.
977 /// \see SendDebugDumpResponseToSystemManager
978 ////////////////////////////////////////////////////////////////////////////////////////////
979 #define SSDEBUGDUMP(args...) (SendDebugDumpResponseToSystemManager(TRUE, ## args))
981 ////////////////////////////////////////////////////////////////////////////////////////////
982 /// \ingroup SM_Deletable
983 ////////////////////////////////////////////////////////////////////////////////////////////
984 #define SSDEBUGDUMP_RAW(args...) (SendDebugDumpResponseToSystemManager(FALSE, ## args))
986 /////////////////////////////////////////////////////////////////////////////////////
987 /// \ingroup interface_unified
989 /// \brief SendLogStartRequestToSystemManager
991 /// \note This function is call by SS_Logger when the logging process has
992 /// completed and no additional request for artifacts will be generated.
997 /// EFrameworkunifiedStatus - success or error
998 ////////////////////////////////////////////////////////////////////////////////////
999 EFrameworkunifiedStatus SendLogStartRequestToSystemManager(EErrorEventType f_errorEventType);
1001 /////////////////////////////////////////////////////////////////////////////////////
1002 /// \ingroup interface_unified
1004 /// \brief SendLogArtifactRequestToSystemManager
1006 /// \note This function is call by SS_Logger to request SM to acquire and
1007 // return by reference (filename), the specified logging artifact.
1009 /// \param [in] f_artifactId, enumerated artifact number.
1012 /// EFrameworkunifiedStatus - success or error
1013 ////////////////////////////////////////////////////////////////////////////////////
1014 EFrameworkunifiedStatus SendLogArtifactRequestToSystemManager(EArtifactId f_artifactId);
1016 /////////////////////////////////////////////////////////////////////////////////////
1017 /// \ingroup interface_unified
1019 /// \brief SendLogCompleteRequestToSystemManager
1021 /// \note This function is call by SS_Logger when the logging process has
1022 /// completed and no additional request for artifacts will be generated.
1027 /// EFrameworkunifiedStatus - success or error
1028 ////////////////////////////////////////////////////////////////////////////////////
1029 EFrameworkunifiedStatus SendLogCompleteRequestToSystemManager(EFrameworkunifiedStatus f_eStatus = eFrameworkunifiedStatusOK);
1031 /////////////////////////////////////////////////////////////////////////////////////
1032 /// \ingroup interface_unified
1034 /// \brief SendEelExportRequestToSystemManager
1036 /// \note This function forwards the Device Detection EEL_export trigger
1037 /// received by SS Logger to System Manager.
1039 /// \param f_path Destination path for the trigger artifacts.
1042 /// EFrameworkunifiedStatus - success or error
1043 ////////////////////////////////////////////////////////////////////////////////////
1044 EFrameworkunifiedStatus SendEelExportRequestToSystemManager(std::string f_path);
1046 /////////////////////////////////////////////////////////////////////////////////////
1047 /// \ingroup interface_unified
1049 /// \brief DebugDump request callback function.
1051 /// \note This function is called when System Manager requests the receiving
1052 /// application to generate their debugdump.
1057 /// EFrameworkunifiedStatus - success or error
1058 ////////////////////////////////////////////////////////////////////////////////////
1059 EFrameworkunifiedStatus OnSystemManagerDebugDump(HANDLE hApp);
1061 #endif // __SS_SYSTEM_MANAGER_CLIENT_IF_H__ // NOLINT (build/header_guard)