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 interfaceunified_system_application.h
19 * @brief This file supports the System Manager AGL framework client
23 #ifndef INTERFACEUNIFIED_SYSTEM_APPLICATION_H_ // NOLINT (build/header_guard)
24 #define INTERFACEUNIFIED_SYSTEM_APPLICATION_H_
26 /** @addtogroup BaseSystem
29 /** @addtogroup system_service
33 /** @addtogroup interface_unified
34 * @ingroup system_service
37 #include <native_service/frameworkunified_types.h>
38 /////////////////////////////////////////////////////////////////////////////////////
39 /// \ingroup InterfaceunifiedSystemConnectToPowerSerivce
40 /// \~english @par Summary
41 /// Subscribe and attach call backs to notifications, to PowerSerivce!
42 /// \~english @param [in] hApp
43 /// HANDLE - App handle
44 /// \~english @retval eFrameworkunifiedStatusOK Success
45 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
46 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
47 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
48 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
49 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
50 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
51 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
52 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
53 /// \~english @retval eFrameworkunifiedStatusErrOther Other error has occurred(Cannot access shared memory, etc.)
54 /// \~english @par Preconditions
55 /// \~english @par Change of the internal state
56 /// - Change of internal state according to the API does not occur.
57 /// \~english @par Conditions of processing failure
58 /// - Pointer (pNtfyHandler) is NULL to the structure of the Notification Handler specified in the argument.
59 /// [eFrameworkunifiedStatusInvldParam]
60 /// - Notification Handler number specified in the argument (uiHandlerCount) 0. [eFrameworkunifiedStatusInvldParam]
61 /// - HANDLE specified in the argument (hApp) is NULL. [eFrameworkunifiedStatusInvldParam]
62 /// - HANDLE specified in the argument (hApp) is not appropriate(which is invalid). [eFrameworkunifiedStatusInvldParam]
63 /// - Notification Handler number specified in the argument (uiHandlerCount) has exceeded
64 /// the maximum number of Notification.[eFrameworkunifiedStatusFail]
65 /// - The acquisition of the buffer for storing a plurality of information of
66 /// Notification Handler specified by the argument has failed. [eFrameworkunifiedStatusInvldParam]
67 /// - Can not be acquired memory in the acquisition of the buffer of the message for transmission (malloc).
68 /// [eFrameworkunifiedStatusFail]
69 /// - Message queue HANDLE in HANDLE specified in the argument (hApp) is NULL. [eFrameworkunifiedStatusInvldParam]
70 /// - HANDLE specified in the argument message queue HANDLE in (hApp) is not appropriate (which is invalid).
71 /// [eFrameworkunifiedStatusInvldParam]
72 /// - Message queue name of HANDLE specified in the argument (hApp)
73 /// is not appropriate(The name is NULL, more than 20byte) [eFrameworkunifiedStatusInvldHandle]
74 /// - Message queue type of HANDLE specified in the argument (hApp) is not a transmission.
75 /// [eFrameworkunifiedStatusInvldHndlType]
76 /// - Session message queue is full to the NPP Service. [eFrameworkunifiedStatusMsgQFull]
77 /// - It is invalid transmission file descriptor of the session message to the NPP Service.
78 /// [eFrameworkunifiedStatusErrNoEBADF]
79 /// - Interruption by the system call (signal) has occurred during the transmission of the session message
80 /// for the NPP Service. [eFrameworkunifiedStatusErrNoEINTR]
81 /// - Incorrect size of the transmit buffer of the session message to the NPP Service. [eFrameworkunifiedStatusInvldBufSize]
82 /// - Any errors occur during the transmission of a session message to the NPP Service. [eFrameworkunifiedStatusFail]
83 /// - It failed to shared memory access for transmission of the session message for the NPP Service.
84 /// [eFrameworkunifiedStatusErrOther]
85 /// \~english @par Classification
87 /// \~english @par Type
89 /// \~english @par Detail
90 /// Subscribe and attach call backs to notifications, to PowerSerivce! \n
91 /// if callback has not subscribe,resubscribe! \n
92 /// if callback has been subscribed,initialize!
93 /// \~english @see FrameworkunifiedGetAppName FrameworkunifiedSubscribeNotificationsWithCallback
94 ////////////////////////////////////////////////////////////////////////////////////
95 EFrameworkunifiedStatus InterfaceunifiedSystemConnectToPowerSerivce(HANDLE hApp);
96 /////////////////////////////////////////////////////////////////////////////////////
97 /// \ingroup InterfaceunifiedSystemConnectToPowerSerivce
98 /// \~english @par Summary
99 /// Called from framework for every app to start connection to HeartBeat
100 /// \~english @param [in] hApp
101 /// HANDLE - App handle, Handle to message queue of HeartBeat Service.
102 /// \~english @retval eFrameworkunifiedStatusOK Success
103 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
104 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
105 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
106 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
107 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
108 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
109 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
110 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
111 /// \~english @retval eFrameworkunifiedStatusErrOther Other error has occurred(Cannot access shared memory, etc.)
112 /// \~english @par Preconditions
113 /// \~english @par Change of the internal state
114 /// - Change of internal state according to the API does not occur.
115 /// \~english @par Conditions of processing failure
116 /// - Pointer (pNtfyHandler) is NULL to the structure of the Notification Handler specified
117 /// in the argument. [eFrameworkunifiedStatusInvldParam]
118 /// - Notification Handler number specified in the argument (uiHandlerCount) 0. [eFrameworkunifiedStatusInvldParam]
119 /// - HANDLE specified in the argument (hApp) is NULL. [eFrameworkunifiedStatusInvldParam]
120 /// - HANDLE specified in the argument (hApp) is not appropriate(which is invalid). [eFrameworkunifiedStatusInvldParam]
121 /// - Notification Handler number specified in the argument (uiHandlerCount) has exceeded
122 /// the maximum number of Notification. [eFrameworkunifiedStatusFail]
123 /// - The acquisition of the buffer for storing a plurality of information of
124 /// Notification Handler specified by the argument has failed. [eFrameworkunifiedStatusInvldParam]
125 /// - Can not be acquired memory in the acquisition of the buffer of the message for transmission (malloc).
126 /// [eFrameworkunifiedStatusFail]
127 /// - Message queue HANDLE in HANDLE specified in the argument (hApp) is NULL. [eFrameworkunifiedStatusInvldParam]
128 /// - HANDLE specified in the argument message queue HANDLE in (hApp) is not appropriate (which is invalid).
129 /// [eFrameworkunifiedStatusInvldParam]
130 /// - Message queue name of HANDLE specified in the argument (hApp)
131 /// is not appropriate(The name is NULL, more than 20byte) [eFrameworkunifiedStatusInvldHandle]
132 /// - Message queue type of HANDLE specified in the argument (hApp) is not a transmission.
133 // [eFrameworkunifiedStatusInvldHndlType]
134 /// - Session message queue is full to the NPP Service. [eFrameworkunifiedStatusMsgQFull]
135 /// - It is invalid transmission file descriptor of the session message to the NPP Service.
136 /// [eFrameworkunifiedStatusErrNoEBADF]
137 /// - Interruption by the system call (signal) has occurred during the transmission of
138 /// the session message for the NPP Service. [eFrameworkunifiedStatusErrNoEINTR]
139 /// - Incorrect size of the transmit buffer of the session message to the NPP Service.
140 /// [eFrameworkunifiedStatusInvldBufSize]
141 /// - Any errors occur during the transmission of a session message to the NPP Service.
142 /// [eFrameworkunifiedStatusFail]
143 /// - It failed to shared memory access for transmission of the session message
144 /// for the NPP Service. [eFrameworkunifiedStatusErrOther]
145 /// \~english @par Classification
147 /// \~english @par Type
149 /// \~english @par Detail
150 /// Called from framework for every app to start connection to HeartBeat \n
151 /// if app has not connection,reconnection! \n
152 /// if app has been connectioned,initialize it!
153 /// \~english @see FrameworkunifiedGetAppName FrameworkunifiedAttachCallbacksToDispatcher
154 ////////////////////////////////////////////////////////////////////////////////////
155 EFrameworkunifiedStatus InterfaceunifiedSystemConnectToHeartBeatService(HANDLE hApp);
156 /////////////////////////////////////////////////////////////////////////////////////
157 /// \ingroup InterfaceunifiedSystemConnectToPowerSerivce
158 /// \~english @par Summary
159 /// Subscribe and attach callbacks to System Manager Service!
160 /// \~english @param [in] hApp
161 /// HANDLE - App handle.
162 /// \~english @retval eFrameworkunifiedStatusOK Success
163 /// \~english @retval eFrameworkunifiedStatusInvldParam Invalid parameter
164 /// \~english @retval eFrameworkunifiedStatusInvldHandle Invalid handle
165 /// \~english @retval eFrameworkunifiedStatusInvldHndlType Invalid type of handle
166 /// \~english @retval eFrameworkunifiedStatusMsgQFull Message queue is full
167 /// \~english @retval eFrameworkunifiedStatusErrNoEBADF Invalid File-Descriptor
168 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR An interrupt is generated by the system call (signal)
169 /// \~english @retval eFrameworkunifiedStatusInvldBufSize Invalid buffer-size
170 /// \~english @retval eFrameworkunifiedStatusFail Some sort of error occurred
171 /// \~english @retval eFrameworkunifiedStatusErrOther Other error has occurred(Cannot access shared memory, etc.)
172 /// \~english @par Preconditions
173 /// \~english @par Change of the internal state
174 /// - Change of internal state according to the API does not occur.
175 /// \~english @par Conditions of processing failure
176 /// - Pointer (pNtfyHandler) is NULL to the structure of
177 /// the Notification Handler specified in the argument. [eFrameworkunifiedStatusInvldParam]
178 /// - Notification Handler number specified in the argument (uiHandlerCount) 0. [eFrameworkunifiedStatusInvldParam]
179 /// - HANDLE specified in the argument (hApp) is NULL. [eFrameworkunifiedStatusInvldParam]
180 /// - HANDLE specified in the argument (hApp) is not appropriate(which is invalid). [eFrameworkunifiedStatusInvldParam]
181 /// - Notification Handler number specified in the argument (uiHandlerCount)
182 /// has exceeded the maximum number of Notification. [eFrameworkunifiedStatusFail]
183 /// - The acquisition of the buffer for storing a plurality of information of
184 /// Notification Handler specified by the argument has failed. [eFrameworkunifiedStatusInvldParam]
185 /// - Can not be acquired memory in the acquisition of the buffer of
186 /// the message for transmission (malloc). [eFrameworkunifiedStatusFail]
187 /// - Message queue HANDLE in HANDLE specified in the argument (hApp) is NULL. [eFrameworkunifiedStatusInvldParam]
188 /// - HANDLE specified in the argument message queue HANDLE in (hApp)
189 /// is not appropriate (which is invalid). [eFrameworkunifiedStatusInvldParam]
190 /// - Message queue name of HANDLE specified in the argument (hApp)
191 /// is not appropriate(The name is NULL, more than 20byte) [eFrameworkunifiedStatusInvldHandle]
192 /// - Message queue type of HANDLE specified in the argument (hApp)
193 /// is not a transmission. [eFrameworkunifiedStatusInvldHndlType]
194 /// - Session message queue is full to the NPP Service. [eFrameworkunifiedStatusMsgQFull]
195 /// - It is invalid transmission file descriptor of the session message to the NPP Service.
196 /// [eFrameworkunifiedStatusErrNoEBADF]
197 /// - Interruption by the system call (signal) has occurred during the transmission of
198 /// the session message for the NPP Service. [eFrameworkunifiedStatusErrNoEINTR]
199 /// - Incorrect size of the transmit buffer of the session message to the NPP Service. [eFrameworkunifiedStatusInvldBufSize]
200 /// - Any errors occur during the transmission of a session message to the NPP Service. [eFrameworkunifiedStatusFail]
201 /// - It failed to shared memory access for transmission of the session message for
202 /// the NPP Service. [eFrameworkunifiedStatusErrOther]
203 /// \~english @par Classification
205 /// \~english @par Type
207 /// \~english @par Detail
208 /// Subscribe and attach callbacks to System Manager Service! \n
209 /// if app has not Subscribed,resubscribe!
210 /// \~english @see FrameworkunifiedGetAppName SystemManagerOpenSender
211 ////////////////////////////////////////////////////////////////////////////////////
212 EFrameworkunifiedStatus InterfaceunifiedSystemConnectToSystemManagerService(HANDLE hApp);
219 #endif /* INTERFACEUNIFIED_SYSTEM_APPLICATION_H_ */ // NOLINT (build/header_guard)