/* * @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 ss_sm_client_if.h * @brief \~english This file supports the AGL framework client interface to System manager. */ /** @addtogroup BaseSystem * @{ */ /** @addtogroup system_service * @ingroup BaseSystem * @{ */ /** @addtogroup interface_unified * @ingroup system_service * @{ */ #ifndef __SS_SYSTEM_MANAGER_CLIENT_IF_H__ // NOLINT (build/header_guard) #define __SS_SYSTEM_MANAGER_CLIENT_IF_H__ #include #include #include #include "system_service/ss_power_service.h" #include "system_service/ss_system_manager_if.h" ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup RegisterSMSessionAckCallback /// \~english @par Summary /// API for setting the FrameworkunifiedOnStop response /// \~english @param [in] CallbackPtr /// EFrameworkunifiedStatus - Pointer to a callback function /// \~english @par /// - TRUE : Not carried out in the automatic response. /// - FALSE : Carry out the response in automatic. (Default) /// \~english @retval VOID None /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// None /// \~english @par Classification /// Public /// \~english @par Type /// Sync only(None communication) /// \~english @par Detail /// In the case of is_start_required = TURE, Client Services of System Manager, automatically \n /// System Manager and the session at the same time is building and start-up. \n /// It is possible to receive a call back at the timing when the session establishment is completed \n /// by this API. \n /// is_start_required is, as a Launch Configuration information, have the following meanings. /// \~english @par /// is_start_required \n /// - True: Create a session with the System Manager.(Service to use the Dispatcher.) \n /// - False: Not create a session with the System Manager.(Do not use the Dispatcher Service.) /// OnStart/Stop/DebugDump Callback is not called. HeartBeat function does not apply. /// \~english @see None //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus RegisterSMSessionAckCallback(EFrameworkunifiedStatus (*CallbackPtr)(HANDLE)); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup SetDataResetModeToSystemManager /// \~english @par Summary /// API to record the data reset mode of the next boot in a non-volatile area. /// \~english @param [in] dataResetMode /// ESMDataResetModeInfo - Data reset mode information /// \~english @par /// - e_SS_SM_DATA_RESET_MODE_NONE : Do not initialize /// - e_SS_SM_DATA_RESET_MODE_USER : User data initialization /// - e_SS_SM_DATA_RESET_MODE_FACTORY : Factory initialization /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusBadConnection Socket connection error /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - Specified log type is invalid(In the case of value which does not correspond to enum eSMUserLogType). /// [eFrameworkunifiedStatusInvldParam] /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a send and receive type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Send and receive for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the send and receive of the System /// Manager message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the send and receive buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Send and receive and reception of System Manager message for the session fails to socket connection. /// [eFrameworkunifiedStatusBadConnection] /// - Any error has occurred at the time of send and receive of the System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - Send and receive of System Manager message for the session fails to shared memory access. /// [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Fire and Forget x Method /// \~english @par Detail /// The data reset mode to save in a non-volatile area, the function return.\n /// System Manager is to expand the resident service data reset mode of the non-volatile area as\n /// an argument of FrameworkunifiedOnStart.\n /// Task Manager is Callback data initialization interface of the same information as an argument.\n /// All of, the completion of the FrameworkunifiedOnStart processing of all resident services (System Manager) \n /// and, at the timing when the Callback of data initialization interface of all non-resident \n /// service has been completed (Task Manager), a data reset mode, initialized to e_SS_SM_DATA_RESET_ NONE. \n /// In other words, when the reset until initialization occurs, the same data reset mode again to \n /// the argument, FrameworkunifiedOnStart or, Callback of data initialization interface is performed. /// \~english @see SetProgUpdateStateToSystemManager //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SetDataResetModeToSystemManager(ESMDataResetModeInfo dataResetMode); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup SetProgUpdateStateToSystemManager /// \~english @par Summary /// API to record the program update state in the non-volatile information. /// \~english @param [in] updateState /// SMProgUpdateState - Program update status /// \~english @par /// - SS_SM_PROG_UPDATE_STATE_UPDATED : Program update /// - SS_SM_PROG_UPDATE_STATE_MAP_UPDATED : Map update /// - SS_SM_PROG_UPDATE_STATE_MAPDIFF_UPDATED : Map difference updating /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusBadConnection Socket connection error /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - Specified program update status information is invalid (in the case of a value that does not correspond to /// the enum SMProgUpdateState). [eFrameworkunifiedStatusInvldParam] /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a send and receive type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Send and receive for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the send and receive of the System /// Manager message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the send and receive buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Send and receive and reception of System Manager message for the session fails to socket connection. /// [eFrameworkunifiedStatusBadConnection] /// - Any error has occurred at the time of send and receive of the System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - Send and receive of System Manager message for the session fails to shared memory access. /// [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Sync only(None communication) /// \~english @par Detail /// The program update state to save in a non-volatile area, the function return.\n /// updateState is it is possible to specify more than one by setting the OR.\n /// Based on the setting state, to determine isProgUpdated, isMapUpdated, the value \n /// of the isMapDiffUpdated provided in GetInterfaceunifiedOnStartExtInfo and GetInterfaceunifiedOnStopExtInfo.\n /// Task Manager is provided in data initialization interface, the same information to the non-resident service.\n /// Set state is initialized with the same timing as data reset mode.\n /// (See SetDataResetModeToSystemManager) /// \~english @see SetDataResetModeToSystemManager, GetInterfaceunifiedOnStartExtInfo, GetInterfaceunifiedOnStopExtInfo //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SetProgUpdateStateToSystemManager(SMProgUpdateState progUpdateState); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup SendCpuResetRequestToSystemManager /// \~english @par Summary /// API to request LOG saved to the internal non-volatile area /// \~english @param [in] l_eCpuResetReason /// ESMCpuResetReason - Reset factor /// \~english @param [in] f_messageStr /// std::string - Abnormal message string /// \~english @param [in] f_suffixStr /// std::string - Suffix string of abnormal LOG file /// \~english @par /// enum ESMCpuResetReason Variable /// - e_SS_SM_CPU_RESET_REASON_NORMAL : Normal Reset /// - e_SS_SM_CPU_RESET_REASON_DATA_RESET : Data Reset /// - e_SS_SM_CPU_RESET_REASON_USER_FORCE_RESET : User forced reset /// - e_SS_SM_CPU_RESET_REASON_GENERIC_ERR : Generic Error reset /// - e_SS_SM_CPU_RESET_REASON_DSP_ERR : DSP Error /// - e_SS_SM_CPU_RESET_REASON_IMMRESET_NORMAL : Reset immediately /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Transmission for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager /// message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the transmission buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Any error has occurred at the time of transmission of the System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Sync only(None communication) /// \~english @par Detail /// Collect the LOG information and stores it in the built-in non-volatile area.\n /// String specified in f_suffixStr is added as a suffix to the end of the abnormal LOG file name. /// \~english @see /// None //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SendCpuResetRequestToSystemManager(ESMCpuResetReason l_eCpuResetReason, std::string f_messageStr = "", std::string f_suffixStr = ""); //////////////////////////////////////////////////////////////////////////////////////////// /// \ingroup SetNextWakeupTypeToSystemManager /// \~english @par Summary /// Set the next wakeup type. /// \~english @param [in] f_wakeupType /// ESMNextWakeupType - Wakeup type /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Classification /// Public /// \~english @par Type /// Sync only /// \~english @par Detail /// - The API sets the next wakeup type (COLD/HOT/Not specified). /// \n /// - Include ss_sm_client_if.h /// - Library libSS_SystemIfUnified.so /// \~english @see /// None //////////////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SetNextWakeupTypeToSystemManager(ESMNextWakeupType f_wakeupType); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup Set_UseStopCompleteNotificationVsInterfaceunifiedOnStopFnc_StateVar /// \~english @par Summary /// API for setting the FrameworkunifiedOnStop response /// \~english @param [in] f_setTrue /// BOOL - Response presence or absence of specified /// \~english @par /// - TRUE : Not carried out in the automatic response. /// - FALSE : Carry out the response in automatic. (Default) /// \~english @retval VOID None /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// None /// \~english @par Classification /// Public /// \~english @par Type /// Sync only(None communication) /// \~english @par Detail /// In case you can not return the response in the synchronized by FrameworkunifiedOnStop, by setting to \n /// TRUE in this API, it is possible to implement the completion notice to the system_manager \n /// the service side. /// At this time, the service is by to Publish the Notification of "service name/StopComp", \n /// you are possible to notify the STOP completion to system_manager. /// \~english @see None //////////////////////////////////////////////////////////////////////////////////// VOID Set_UseStopCompleteNotificationVsInterfaceunifiedOnStopFnc_StateVar(BOOL f_SetTrue); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup SendUserInvokedLoggingRequestToSystemManager /// \~english @par Summary /// API to request LOG saved to the internal non-volatile area /// \~english @param [in] f_userInvokedLogType /// \ref eSMUserLogType - User invoked log type. /// \~english @param [in] f_messageStr /// std::string - Abnormal message string /// \~english @param [in] f_suffixStr /// std::string - Suffix string of abnormal LOG file /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - Log type is invalid(In the case of value which does not correspond to enum eSMUserLogType). /// [eFrameworkunifiedStatusInvldParam] /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Transmission for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager /// message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the transmission buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Any error has occurred at the time of transmission of the System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Sync only(None communication) /// \~english @par Detail /// Collect the LOG information and stores it in the built-in non-volatile area.\n /// String specified in f_suffixStr is added as a suffix to the end of the abnormal LOG file name. /// \~english @see SendClearLogsRequestToSystemManager //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendUserInvokedLoggingRequestToSystemManager(eSMUserLogType f_userInvokedLogType, std::string f_messageStr = "", std::string f_suffixStr = ""); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup SendInterfaceunifiedOnStopResponseToSystemManager /// \~english @par Summary /// API to send a FrameworkunifiedOnStop response /// \~english @param [in] f_eStatus /// EFrameworkunifiedStatus - End status /// \~english @par /// - eFrameworkunifiedStatusOK : End processing completion /// - eFrameworkunifiedStatusFail : End processing uncompleted /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Transmission for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager /// message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the transmission buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Any error has occurred at the time of transmission of the System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Fire and Forget only /// \~english @par Detail /// In case you can not return the response in the synchronized by FrameworkunifiedOnStop, by setting to \n /// TRUE in this API, it is possible to implement the completion notice to the system_manager \n /// the service side. /// At this time, the service is by to Publish the Notification of "service name/StopComp", \n /// you are possible to notify the STOP completion to system_manager. /// \~english @see None //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendInterfaceunifiedOnStopResponseToSystemManager(EFrameworkunifiedStatus f_eStatus); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup GetInterfaceunifiedOnStartExtInfo /// \~english @par Summary /// API to get the extended information of the start-up parameters. /// \~english @param [out] f_info /// T_SS_SM_START_ExtDataStructType - Startup parameters extended information /// \~english @par /// T_SS_SM_START_ExtDataStructType Structure /// \~english @code /// typedef struct { /// { /// BOOL isProgUpdated; /// EMRelaunchStatus relaunchStatus; /// BOOL isMapUpdated; /// BOOL isMapDiffUpdated; /// uint8_t reserved[]; /// }T_SS_SM_START_ExtDataStructType; /// @endcode /// \~english @par /// isProgUpdated:Presence or absence of a program update /// - TRUE : Yes program update /// - FALSE : No program update /// \~english @par /// relaunchStatus:Relaunch state of self-service /// - e_SS_SM_RELAUNCH_STATUS_NONE : Relaunch non-occurrence (first start) /// - e_SS_SM_RELAUNCH_STATUS_SAFE : Normal Relaunch /// - e_SS_SM_RELAUNCH_STATUS_ERR : Abnormal Relaunch /// \~english @par /// isMapUpdated:Presence or absence of a map update /// - TRUE : Yes map update /// - FALSE : No map update /// \~english @par /// isMapDiffUpdated:The presence or absence of the map difference updating /// - TRUE : Yes map difference update /// - FALSE : No map difference update /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusBadConnection Failure to socket connection /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred(Socket Connection/Memory Allocation/Event Control) /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Transmission for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager /// message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the transmission buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Transmission and reception of System Manager message for the session fails to socket connection. /// [eFrameworkunifiedStatusBadConnection] /// - In the case of the message queue open error for reception of System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - System Manager message for the session fails to acquire the message buffer for reception. [eFrameworkunifiedStatusFail] /// - System Manager message for the session fails in the event control for the reception. [eFrameworkunifiedStatusFail] /// - Any error has occurred at the time of transmission and receive of the System Manager message for the /// session. [eFrameworkunifiedStatusFail] /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Sync only(None communication) /// \~english @par Detail /// Returns the extended information of the parameters of FrameworkunifiedOnStart(). \n /// It is assumed that that will be called in the FrameworkunifiedOnStart (), return the correct value when it is called prior /// \n /// to the issuance FrameworkunifiedOnStart() is not guaranteed.\n /// System startup to relaunchStatus is e_SS_SM_RELAUNCH_STATUS_NONE, the service is a case that has been Relaunch /// \n /// by the exit (SS_SM_EXIT_RELAUNCH) _SS_SM_RELAUNCH_STATUS_SAFE, if the Relaunch due to the abnormality occurs /// to \n /// set the e_SS_SM_RELAUNCH_STATUS_ERR. /// \~english @see GetInterfaceunifiedOnStopExtInfo, FrameworkunifiedOnStart //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus GetInterfaceunifiedOnStartExtInfo(T_SS_SM_START_ExtDataStructType &f_info); // NOLINT (runtime/references) ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup GetInterfaceunifiedOnStopExtInfo /// \~english @par Summary /// API to get the extended information of the end parameter. /// \~english @param [out] f_info /// T_SS_SM_STOP_ExtDataStructType - Exit extended parameter information /// \~english @par /// T_SS_SM_STOP_ExtDataStructType Structure /// \~english @code /// typedef struct { /// { /// BOOL isProgUpdated; /// uint8_t reserved[]; /// }T_SS_SM_START_ExtDataStructType; /// @endcode /// \~english @par /// isProgUpdated:Presence or absence of a program update /// - TRUE : Yes program update /// - FALSE : No program update /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusBadConnection Failure to socket connection /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred(Socket Connection/Memory Allocation/Event Control) /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a send and receive type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - File descriptor not for the transmission and reception of the System Manager of the session message. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Interruption by the system call (signal) occurs during the transmission and reception of the System Manager /// of the session message. [eFrameworkunifiedStatusErrNoEINTR] /// - The size of the transmit and receive buffer of the System Manager of the session message is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - It failed to socket connection for transmission and reception of the System Manager of the session message. /// [eFrameworkunifiedStatusBadConnection] /// - Open error of the message queue for the reception of the System Manager of the session message. /// [eFrameworkunifiedStatusFail] /// - And fail to acquire the message buffer for reception of the System Manager of the session message. /// [eFrameworkunifiedStatusFail] /// - It failed in the event control for the reception of the System Manager of the session message. /// [eFrameworkunifiedStatusFail] /// - It failed during transmission and reception of the System Manager of the session message. [eFrameworkunifiedStatusFail] /// - It failed to shared memory access for transmission and reception of the System Manager of the session /// message. [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Sync only(None communication) /// \~english @par Detail /// Returns the extended information of the parameters of FrameworkunifiedOnStop(). \n /// It is assumed that that will be called in the FrameworkunifiedOnStop (), return of the correct value in the case \n /// that has been called before FrameworkunifiedOnStop() entry into force is not guaranteed. /// \~english @see GetInterfaceunifiedOnStartExtInfo, FrameworkunifiedOnStop //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus GetInterfaceunifiedOnStopExtInfo(T_SS_SM_STOP_ExtDataStructType &f_info); // NOLINT (runtime/references) //////////////////////////////////////////////////////////////////////////////////////////// /// \ingroup SendDebugDumpResponseToSystemManager /// \~english @par Summary /// Send a debug dump response to system_manager /// \~english @param [in] f_bFormatStrRequired /// BOOL - Specify whether to dump the application name or not /// \~english @param [in] f_cFormat /// PCSTR - Display format for the dump (the same character strings format as the printf format) /// \~english @param [in] arg_list /// ... - Dump data in line with f_cFormat format /// \~english @par /// f_bFormatStrRequired /// - true Dump the application name /// - false Do not dump the application name /// \~english @retval None /// \~english @par Precondition /// - None /// \~english @par Change in the internal status /// - The change in the internal status does not occur by this API. /// \~english @par Classification /// Public /// \~english @par Type /// Fire and Forget only /// \~english @par Detail /// When f_bFormatStrRequired is true, write the application name to the buffer for dump. \n /// Write the data to the buffer for dump in line with f_cFormat. \n /// Send OnDebugDumpResponseReceived to the SystemManger in order to request the SystemManger to /// write the contents in the buffer for dump to the log file for debug. \n /// The maximum size of the buffer for dump is 4Kbyte and the string size of the application name /// is deducted when the application name is dumped. \n /// When dumping a string which exceeds 4Kbyte, drop what exceeds the buffer. /// \~english @see //////////////////////////////////////////////////////////////////////////////////////////// void SendDebugDumpResponseToSystemManager(BOOL f_bFormatStrRequired, PCSTR f_cFormat, ...) #ifdef __GNUC__ __attribute__((format(printf, 2, 3))); #endif ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup SendInterfaceunifiedEmmcLogsRequestToSystemManager /// \~english @par Summary /// API to request a copy to the specified path of the LOG file of the built-in non-volatile area. /// \~english @param [in] f_path /// std::string - LOG destination file PATH /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusInvldBuf Invalid buffer /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - LOG destination file PATH is NULL(If f_path.c_str() is NULL). [eFrameworkunifiedStatusInvldBuf] /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Transmission for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager /// message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the transmission buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Any error has occurred at the time of transmission of the System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Method only /// \~english @par Detail /// To copy all of the files that exist in LOG storage area of the built-in non-volatile area in \n /// the path specified in the f_path. \n /// If you do not have a copy target, asynchronous response command: Returns the eFrameworkunifiedStatusOK as \n /// the message data of SS_SM_ERROR_EVENT_INTERFACEUNIFIED_EMMC_LOGS_RSPN. /// \~english @see SendClearLogsRequestToSystemManager //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendInterfaceunifiedEmmcLogsRequestToSystemManager(std::string f_path); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup SendClearLogsRequestToSystemManager /// \~english @par Summary /// API to clear the stored in the built-in non-volatile area log. /// \~english @param [in] f_info /// TSystemManagerClearLogsInfo - A pointer to the LOG clear information /// \~english @par /// TSystemManagerClearLogsInfo Structure /// \~english @code /// typedef struct T_SystemManagerClearLogsInfo{ /// { /// void *rsv; /// }TSystemManagerClearLogsInfo; /// @endcode /// \~english @par /// rsv : Reserve area /// \~english @retval eFrameworkunifiedStatusOK Success /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter /// \~english @retval eFrameworkunifiedStatusNullPointer Invalid pointer /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of 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 eFrameworkunifiedStatusInvldBufSize Invalid buffer-size /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred /// \~english @retval eFrameworkunifiedStatusErrOther Other error(It failed to open/allocation of shared memory) /// \~english @par Preconditions /// - Dispatcher for the System Manager is generated, and Availability of the service is TRUE. /// \~english @par Change of the internal state /// - The internal state is not changed. /// \~english @par Causes of failures /// - Pointer to the LOG clear information (f_info) is NULL [eFrameworkunifiedStatusInvldParam] /// - System Manager of the session does not exist. [eFrameworkunifiedStatusNullPointer] /// - System Manager handle for the session is NULL. [eFrameworkunifiedStatusInvldHandle] /// - System Manager handle type for the session is not a transmission type. [eFrameworkunifiedStatusInvldHndlType] /// - System Manager message queue for the session is full. [eFrameworkunifiedStatusMsgQFull] /// - Transmission for the file descriptor of System Manager message for the session is invalid. /// [eFrameworkunifiedStatusErrNoEBADF] /// - Place to interrupt by the system call (signal) has occurred during the transmission of the System Manager /// message for the session. [eFrameworkunifiedStatusErrNoEINTR] /// - Size of the transmission buffer of the System Manager message for the session is invalid. /// [eFrameworkunifiedStatusInvldBufSize] /// - Any error has occurred at the time of transmission of the System Manager message for the session. /// [eFrameworkunifiedStatusFail] /// - Transmission of System Manager message for the session fails to shared memory access. [eFrameworkunifiedStatusErrOther] /// \~english @par Classification /// Public /// \~english @par Type /// Fire and Forget x Sync /// \~english @par Detail /// To delete a LOG stored in the built-in non-volatile area. /// \~english @see None //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendClearLogsRequestToSystemManager(TSystemManagerClearLogsInfo *f_info); /** @}*/ // end of SystemIf /** @}*/ // end of interface_unified /** @}*/ // end of SystemService /** @}*/ // end of BaseSystem ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief AttachCallbackToSystemManager /// /// \note This function is called by System Manager session clients to attach /// a callback function to the client application with System Manager /// configured as the specified sender of the specified protocol message. /// /// \param [in] f_hApp /// HANDLE - Handle to message queue of the System Manager attached client. /// \param [in] iCmd /// UI_32 iCmd - Command ID /// \param [in] fpOnCmd /// CbFuncPtr fpOnCmd - Function pointer to be called in the form upon /// the invokation of the specified command ID. The callback function /// must have the following signature : void (*)(HANDLE). /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus AttachCallbackToSystemManager(HANDLE hApp, UI_32 iCmd, CbFuncPtr fpOnCmd); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief Set of complementary detach functions that accept same arguments /// as the InterfaceunifiedAttach_XYZ_ToDispatcher() functions do. /// //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus DetachCallbacksFromInterfaceunifiedDispatcher(HANDLE hApp, PCSTR pServiceName, const FrameworkunifiedProtocolCallbackHandler* pMsgHandler, UI_32 uiHandlerCount, HANDLE hSession = NULL); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// \brief //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus DetachParentCallbacksFromInterfaceunifiedDispatcher(HANDLE hChildApp, const FrameworkunifiedProtocolCallbackHandler* pMsgHandler, UI_32 uiHandlerCount); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief GetSystemManagerSessionHandle /// /// \note This function returns the session handle with System Manager /// /// \return HANDLE - A session handle with System Manager ///////////////////////////////////////////////////////////////////////////////////// extern HANDLE GetSystemManagerSessionHandle(void); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendShutdownToSystemManager /// /// \note This function is called to send Shutdown command to System Manager /// /// \param [in] pData /// Pwr_ServiceSetInterface *pData - Pointer to Shutdown Command data /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SendShutdownToSystemManager(Pwr_ServiceSetInterface *pData); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendSystemModeRequestToSystemManager /// /// \note This function is called to send system mode request to System Manager /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SendSystemModeRequestToSystemManager(void); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendInitCompReportToSystemManager /// /// \note This function is called to send init comp report to System Manager /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SendInitCompReportToSystemManager(void); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendWakeUpToSystemManager /// /// \note This function is called to send the Wakeup command to System Manager /// /// \param [in] pData /// wakeInfo *pData - Pointer to Wakeup Command data /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SendWakeUpToSystemManager(wakeInfo *pData); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendStartupConfirmationToSystemManager /// /// \note This function is called to send the startup confirmation information /// to System Manager /// /// \param [in] l_startupConfirmationMsg /// StartupConfirmationMsgStrut &l_startupConfirmationMsg - startup confirmation /// data /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// extern EFrameworkunifiedStatus SendStartupConfirmationToSystemManager(StartupConfirmationMsgStrut &l_startupConfirmationMsg); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendSystemErrorToSystemManager /// /// \note This function is called by an application via Native Services to send /// notice of a critical error to System Manager when a non recoverable /// run-time error is encountered. /// /// \param [in] /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendSystemErrorToSystemManager(EFrameworkunifiedSystemError f_systemError); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief Send_CWORD56_HeartBeatRequestToSystemManager /// /// \note This function forwards a _CWORD56_ heartbeat request received by power /// services from the power shadow to System Manager. /// /// \param [in] /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus Send_CWORD56_HeartBeatRequestToSystemManager(EPWR_HB_REQ_MSG_STRUCT f_HbReq); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendBootMicroResetNotificationToSystemManager /// /// \param ResetReason Enumerated boot micro reset reason. /// /// This function is called by Logging Shadow to inform System Manager of a /// boot micro reset condition. //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendBootMicroResetNotificationToSystemManager(eSMBootMicroResetReason ResetReason); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendDiagLogEventRequestToSystemManager /// /// \note This function is called by logger to initiate log artifact collection /// and storage on behalf of diagnostic services. /// /// \param f_copyDestPathStr /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendDiagLoggingRequestToSystemManager(std::string f_copyDestPathStr); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendCANLoggingRequestToSystemManager /// /// \note This function is called by logger to initiate log artifact collection /// and storage when signaled via CAN. /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendCANLoggingRequestToSystemManager(void); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendDTCLoggingRequestToSystemManager /// /// \note This function is called by logger to initiate log artifact collection /// and storage when signaled via diagnostic command. /// /// \param f_dtc Diagnostic trouble code. /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendDTCLoggingRequestToSystemManager(UI_32 f_dtc); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief RegisterBootMicroLogRequestCb /// /// This function is called by Logging Shadow to register a callback function for /// the boot micro log request that may be generated by System Manager when an /// error event occurs. /// /// \param [in] hApp AGL Framework Application Handle /// /// \param [in] fpOnCmd Call back function with the signature: /// EFrameworkunifiedStatus fnct(HANDLE hApp); /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus RegisterBootMicroLogRequestCb(HANDLE hApp, CbFuncPtr fpOnCmd); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendBootMicroLogResponseToSystemManager /// /// This function is called by Logging Shadow to provide a string representation of /// the binary boot-micro log data. /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendBootMicroLogResponseToSystemManager(std::string f_logString); //////////////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// \brief Redirect either formatted, or unformatted response output to System Manager. /// /// \see SendDebugDumpResponseToSystemManager //////////////////////////////////////////////////////////////////////////////////////////// #define SSDEBUGDUMP(args...) (SendDebugDumpResponseToSystemManager(TRUE, ## args)) //////////////////////////////////////////////////////////////////////////////////////////// /// \ingroup SM_Deletable //////////////////////////////////////////////////////////////////////////////////////////// #define SSDEBUGDUMP_RAW(args...) (SendDebugDumpResponseToSystemManager(FALSE, ## args)) ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendLogStartRequestToSystemManager /// /// \note This function is call by SS_Logger when the logging process has /// completed and no additional request for artifacts will be generated. /// /// \param none. /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendLogStartRequestToSystemManager(EErrorEventType f_errorEventType); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendLogArtifactRequestToSystemManager /// /// \note This function is call by SS_Logger to request SM to acquire and // return by reference (filename), the specified logging artifact. /// /// \param [in] f_artifactId, enumerated artifact number. /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendLogArtifactRequestToSystemManager(EArtifactId f_artifactId); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendLogCompleteRequestToSystemManager /// /// \note This function is call by SS_Logger when the logging process has /// completed and no additional request for artifacts will be generated. /// /// \param none. /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendLogCompleteRequestToSystemManager(EFrameworkunifiedStatus f_eStatus = eFrameworkunifiedStatusOK); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief SendEelExportRequestToSystemManager /// /// \note This function forwards the Device Detection EEL_export trigger /// received by SS Logger to System Manager. /// /// \param f_path Destination path for the trigger artifacts. /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus SendEelExportRequestToSystemManager(std::string f_path); ///////////////////////////////////////////////////////////////////////////////////// /// \ingroup interface_unified /// /// \brief DebugDump request callback function. /// /// \note This function is called when System Manager requests the receiving /// application to generate their debugdump. /// /// \param hApp /// /// \return Status /// EFrameworkunifiedStatus - success or error //////////////////////////////////////////////////////////////////////////////////// EFrameworkunifiedStatus OnSystemManagerDebugDump(HANDLE hApp); #endif // __SS_SYSTEM_MANAGER_CLIENT_IF_H__ // NOLINT (build/header_guard) /** @}*/ /** @}*/ /** @}*/