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 ns_np_service_if.h
19 * @brief \~english Declares the external APIs to Notification and Persistence Service.
22 /** @addtogroup BaseSystem
25 /** @addtogroup native_service
29 /** @addtogroup notification_persistent_service
30 * @ingroup native_service
34 #ifndef __NATIVESERVICES_NP_SERVICE_IF_H__ // NOLINT (build/header_guard)
35 #define __NATIVESERVICES_NP_SERVICE_IF_H__
37 ///////////////////////////////////////////////////////////////////////////////
39 ///////////////////////////////////////////////////////////////////////////////
40 #include <native_service/frameworkunified_types.h>
47 * \~english A structure to Notification Info
49 typedef struct _NotificationInfo {
50 CHAR notificationName[MAX_STRING_SIZE_NOTIFICATION]; ///< Notification Event Name string
51 UI_32 maxLength; ///< Maximum possible length (bytes) of the message data
52 EFrameworkunifiedNotificationType persType; ///< Specifies persitence for this notification
53 UI_8 dummy[4]; ///< Packing to 32 bit boundary
57 * \~english A structure to Immediate Notification Info
59 typedef struct _ImmediateNotificationInfo {
60 CHAR notificationName[MAX_STRING_SIZE_NOTIFICATION]; ///< Notification Event Name string
61 UI_32 maxLength; ///< Maximum possible length (bytes) of the message data
62 EFrameworkunifiedNotificationType persType; ///< Specifies persitence for this notification
64 UI_8 dummy[4]; ///< Packing to 32 bit boundary
65 } ImmediateNotificationInfo;
68 * \~english A structure to Subscribe Info
70 typedef struct _SubscribeInfo {
71 CHAR notificationName[MAX_STRING_SIZE_NOTIFICATION]; ///< Notification Event Name string
76 //////////////////////////////////////////////////////////////////////////////////////////////
77 /// \ingroup NPRegisterNotifications
78 /// \~english @par Brief
79 /// API to send message to Notification Service to register a set of notification
80 /// \~english @param[in] hNPMsgQ
81 /// HANDLE - Handle to message queue of Notification service.
82 /// \~english @param[in] pPublisherName
83 /// PCSTR - Name of Publisher message queue
84 /// \~english @param[in] numNotifications
85 /// PCSTR - Name of Notification
86 /// \~english @param[in] pNotificationArray
87 /// NotificationInfo - Array of notifications
88 /// \~english @retval EFrameworkunifiedStatus indicates success or error
89 /// \~english @retval Success(eFrameworkunifiedStatusOK)
90 /// \~english @retval Error(anything else)
92 /// EFrameworkunifiedStatus Enum
94 /// typedef enum eFrameworkunifiedStatus {
95 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
96 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
97 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
98 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
99 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
100 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
101 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
102 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
103 /// eFrameworkunifiedStatusFail = -2, ///< Failed
104 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
105 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
106 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
107 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
108 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
109 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
110 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
111 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
112 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
113 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
114 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
115 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
116 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
117 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
118 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
119 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
120 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
121 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
122 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
123 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
124 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
125 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
126 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
127 /// eFrameworkunifiedStatusNullPointer = 22,
128 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
129 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
130 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
131 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
132 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
133 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
134 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
135 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
136 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
137 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
138 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
139 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
140 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
141 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
143 /// \~english @par Preconditons
145 /// \~english @par Change of internal status
146 /// - The internal state is not changed.
147 /// \~english @par Conditions of processing failure
148 /// - Function pointer specified by the argument is NULL.
149 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
150 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
151 /// - It is an incorrect value(numNotifications).
152 /// - It is an incorrect value(pNotificationArray) or pNotificationArray is NULL.
153 /// \~english @par Detail
154 /// Invoke callback function with arguments to register a set of notification.\n
155 /// If callback function is null and expectedCalls is '0', using default function 'NPRegisterNotifications' to
156 /// register a set of notification.
157 /// \~english @par Classification
159 /// \~english @par Type
162 /// FrameworkunifiedNPRegisterNotification, NPRegisterNotification
163 //////////////////////////////////////////////////////////////////////////////////////////////
164 EFrameworkunifiedStatus NPRegisterNotifications(HANDLE hNPMsgQ, PCSTR pPublisherName, UI_32 numNotifications,
165 NotificationInfo *pNotificationArray);
168 //////////////////////////////////////////////////////////////////////////////////////////////
169 /// \ingroup NPRegisterImmediateNotifications
170 /// \~english @par Brief
171 /// API to send message to Notification Service to register a set of immediate notifications
172 /// \~english @param[in] hNPMsgQ
173 /// HANDLE - Handle to message queue of Notification service.
174 /// \~english @param[in] pPublisherName
175 /// PCSTR - Name of Publisher message queue.
176 /// \~english @param[in] numNotifications
177 /// PCSTR - Name of Notification.
178 /// \~english @param[in] pNotificationArray
179 /// ImmediateNotificationInfo - Array of immediate notifications
180 /// \~english @retval EFrameworkunifiedStatus indicates success or error
181 /// \~english @retval Success(eFrameworkunifiedStatusOK)
182 /// \~english @retval Error(anything else)
184 /// EFrameworkunifiedStatus Enum
186 /// typedef enum eFrameworkunifiedStatus {
187 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
188 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
189 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
190 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
191 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
192 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
193 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
194 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
195 /// eFrameworkunifiedStatusFail = -2, ///< Failed
196 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
197 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
198 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
199 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
200 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
201 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
202 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
203 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
204 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
205 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
206 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
207 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
208 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
209 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
210 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
211 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
212 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
213 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
214 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
215 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
216 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
217 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
218 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
219 /// eFrameworkunifiedStatusNullPointer = 22,
220 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
221 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
222 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
223 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
224 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
225 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
226 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
227 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
228 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
229 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
230 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
231 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
232 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
233 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
235 /// \~english @par Preconditons
237 /// \~english @par Change of internal status
238 /// - The internal state is not changed.
239 /// \~english @par Conditions of processing failure
240 /// - Function pointer specified by the argument is NULL.
241 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
242 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
243 /// - It is an incorrect value(numNotifications).
244 /// - It is an incorrect value(pNotificationArray) or pNotificationArray is NULL.
245 /// \~english @par Detail
246 /// Invoke callback function with arguments to register a set of immediate notification.\n
247 /// If callback function is null and expectedCalls is '0', using default function
248 /// 'NPRegisterImmediateNotifications' to register a set\n
249 /// of immediate notification.
250 /// \~english @par Classification
252 /// \~english @par Type
255 /// FrameworkunifiedNPRegisterImmediatePersistNotification
256 //////////////////////////////////////////////////////////////////////////////////////////////
257 EFrameworkunifiedStatus NPRegisterImmediateNotifications(HANDLE hNPMsgQ, PCSTR pPublisherName, UI_32 numNotifications,
258 ImmediateNotificationInfo *pNotificationArray);
260 //////////////////////////////////////////////////////////////////////////////////////////////
261 /// \ingroup NPRegisterNotification
262 /// \~english @par Brief
263 /// API to send message to Notification Service to register a notification
264 /// \~english @param[in] hNPMsgQ
265 /// HANDLE - Handle to message queue of Notification service.
266 /// \~english @param[in] pPublisherName
267 /// PCSTR - Name of Publisher message queue
268 /// \~english @param[in] notif_name
269 /// PCSTR - Name of Notification
270 /// \~english @param[in] max_length
271 /// const UI_32 - Max size of the notification message
272 /// \~english @param[in] perstype
273 /// const EFrameworkunifiedPersistentVarType - Flag to indicate if it has to be persistent
274 /// \~english @retval EFrameworkunifiedStatus indicates success or error
275 /// \~english @retval Success(eFrameworkunifiedStatusOK)
276 /// \~english @retval Error(anything else)
278 /// EFrameworkunifiedStatus Enum
280 /// typedef enum eFrameworkunifiedStatus {
281 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
282 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
283 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
284 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
285 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
286 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
287 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
288 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
289 /// eFrameworkunifiedStatusFail = -2, ///< Failed
290 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
291 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
292 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
293 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
294 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
295 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
296 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
297 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
298 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
299 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
300 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
301 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
302 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
303 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
304 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
305 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
306 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
307 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
308 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
309 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
310 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
311 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
312 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
313 /// eFrameworkunifiedStatusNullPointer = 22,
314 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
315 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
316 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
317 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
318 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
319 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
320 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
321 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
322 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
323 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
324 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
325 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
326 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
327 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
329 /// \~english @par Preconditons
331 /// \~english @par Change of internal status
332 /// - The internal state is not changed.
333 /// \~english @par Conditions of processing failure
334 /// - Function pointer specified by the argument is NULL.
335 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
336 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
337 /// - It is an incorrect value(notif_name) or notif_name is NULL.
338 /// - It is an incorrect value(max_length).
339 /// \~english @par Detail
340 /// Invoke callback function with arguments to register a notification.\n
341 /// If callback function is null and expectedCalls is '0', using default function 'NPRegisterNotification' to
342 /// register a notification.
343 /// \~english @par Classification
345 /// \~english @par Type
348 /// NPRegisterNotifications, FrameworkunifiedNPRegisterNotification
349 //////////////////////////////////////////////////////////////////////////////////////////////
350 EFrameworkunifiedStatus NPRegisterNotification(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR notif_name,
351 const UI_32 max_length, const EFrameworkunifiedNotificationType perstype);
354 //////////////////////////////////////////////////////////////////////////////////////////////
355 /// \ingroup NPUnRegisterNotification
356 /// \~english @par Brief
357 /// API to send message to Notification Service to remove a notification
358 /// \~english @param[in] hNPMsgQ
359 /// HANDLE - Handle to message queue of Notification service.
360 /// \~english @param[in] pPublisherName
361 /// PCSTR - Name of Publisher message queue
362 /// \~english @param[in] pNotification
363 /// PCSTR - Name of Notification
364 /// \~english @retval EFrameworkunifiedStatus indicates success or error
365 /// \~english @retval Success(eFrameworkunifiedStatusOK)
366 /// \~english @retval Error(anything else)
368 /// EFrameworkunifiedStatus Enum
370 /// typedef enum eFrameworkunifiedStatus {
371 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
372 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
373 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
374 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
375 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
376 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
377 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
378 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
379 /// eFrameworkunifiedStatusFail = -2, ///< Failed
380 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
381 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
382 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
383 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
384 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
385 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
386 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
387 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
388 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
389 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
390 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
391 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
392 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
393 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
394 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
395 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
396 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
397 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
398 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
399 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
400 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
401 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
402 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
403 /// eFrameworkunifiedStatusNullPointer = 22,
404 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
405 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
406 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
407 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
408 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
409 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
410 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
411 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
412 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
413 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
414 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
415 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
416 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
417 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
419 /// \~english @par Preconditons
421 /// \~english @par Change of internal status
422 /// - The internal state is not changed.
423 /// \~english @par Conditions of processing failure
424 /// - Function pointer specified by the argument is NULL.
425 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
426 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
427 /// - It is an incorrect value(pNotification) or pNotification is NULL.
428 /// \~english @par Detail
429 /// Invoke NPUnRegisterNotifications to remove one notification named 'pPublisherName'.
430 /// \~english @par Classification
432 /// \~english @par Type
435 /// FrameworkunifiedNPUnRegisterNotification, NPUnRegisterNotifications
436 //////////////////////////////////////////////////////////////////////////////////////////////
437 EFrameworkunifiedStatus NPUnRegisterNotification(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification);
439 //////////////////////////////////////////////////////////////////////////////////////////////
440 /// \ingroup NPSetPersistentNotfnType
441 /// \~english @par Brief
442 /// API to send message to Notification Service to set the persist category of notification.
443 /// \~english @param[in] hNPMsgQ
444 /// HANDLE - Handle to message queue of Notification service.
445 /// \~english @param[in] pPublisherName
446 /// PCSTR - Service Name
447 /// \~english @param[in] pNotification
448 /// PCSTR - Name of Notification
449 /// \~english @param[in] ePersistCategory
450 /// EFrameworkunifiedPersistCategory - Persistent category
451 /// \~english @retval EFrameworkunifiedStatus indicates success or error
452 /// \~english @retval Success(eFrameworkunifiedStatusOK)
453 /// \~english @retval Error(anything else)
455 /// EFrameworkunifiedStatus Enum
457 /// typedef enum eFrameworkunifiedStatus {
458 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
459 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
460 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
461 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
462 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
463 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
464 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
465 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
466 /// eFrameworkunifiedStatusFail = -2, ///< Failed
467 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
468 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
469 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
470 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
471 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
472 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
473 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
474 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
475 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
476 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
477 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
478 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
479 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
480 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
481 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
482 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
483 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
484 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
485 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
486 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
487 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
488 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
489 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
490 /// eFrameworkunifiedStatusNullPointer = 22,
491 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
492 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
493 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
494 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
495 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
496 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
497 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
498 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
499 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
500 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
501 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
502 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
503 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
504 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
506 /// \~english @par Preconditons
508 /// \~english @par Change of internal status
509 /// - The internal state is not changed.
510 /// \~english @par Conditions of processing failure
511 /// - Function pointer specified by the argument is NULL.
512 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
513 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
514 /// - It is an incorrect value(pNotification) or pNotification is NULL.
515 /// \~english @par Detail
516 /// Invoke callback function to send message to Notification Service to set the persist category of
518 /// If callback function is null and expectedCalls is '0', using default function 'NPSetPersistentNotfnType' to
520 /// message to Notification Service to set the persist category of notification.
521 /// \~english @par Classification
523 /// \~english @par Type
526 /// FrameworkunifiedNPSetPersistentNotfnType
527 //////////////////////////////////////////////////////////////////////////////////////////////
528 EFrameworkunifiedStatus NPSetPersistentNotfnType(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification,
529 EFrameworkunifiedPersistCategory ePersistCategory);
531 //////////////////////////////////////////////////////////////////////////////////////////////
532 /// \ingroup NPSetPersistNotfnDefaultValue
533 /// \~english @par Brief
534 /// API to send message to Notification Service to set default value of persistent category in notification.
535 /// \~english @param[in] hNPMsgQ
536 /// HANDLE - Handle to message queue of Notification service.
537 /// \~english @param[in] pPublisherName
538 /// PCSTR - Service Name
539 /// \~english @param[in] pNotification
540 /// PCSTR - Name of Notification
541 /// \~english @param[in] pData
542 /// PVOID - Data buffer
543 /// \~english @param[in] iLength
544 /// const UI_32 - Size of data buffer
545 /// \~english @retval EFrameworkunifiedStatus indicates success or error
546 /// \~english @retval Success(eFrameworkunifiedStatusOK)
547 /// \~english @retval Error(anything else)
549 /// EFrameworkunifiedStatus Enum
551 /// typedef enum eFrameworkunifiedStatus {
552 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
553 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
554 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
555 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
556 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
557 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
558 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
559 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
560 /// eFrameworkunifiedStatusFail = -2, ///< Failed
561 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
562 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
563 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
564 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
565 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
566 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
567 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
568 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
569 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
570 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
571 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
572 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
573 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
574 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
575 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
576 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
577 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
578 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
579 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
580 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
581 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
582 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
583 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
584 /// eFrameworkunifiedStatusNullPointer = 22,
585 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
586 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
587 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
588 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
589 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
590 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
591 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
592 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
593 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
594 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
595 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
596 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
597 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
598 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
600 /// \~english @par Preconditons
602 /// \~english @par Change of internal status
603 /// - The internal state is not changed.
604 /// \~english @par Conditions of processing failure
605 /// - Function pointer specified by the argument is NULL.
606 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
607 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
608 /// - It is an incorrect value(pNotification) or pNotification is NULL.
609 /// - It is an incorrect value(pData) or pData is NULL.
610 /// \~english @par Detail
611 /// Invoke callback function to send message to Notification Service to set default value of persistent category
612 /// in notification.\n
613 /// If callback function is null and expectedCalls is '0', using default function 'NPSetPersistNotfnDefaultValue'
614 /// to send message\n
615 /// to Notification Service to set default value of persistent category in notification.
616 /// \~english @par Classification
618 /// \~english @par Type
621 /// FrameworkunifiedNPSetPersistNotfnDefaultValue
622 //////////////////////////////////////////////////////////////////////////////////////////////
623 EFrameworkunifiedStatus NPSetPersistNotfnDefaultValue(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification,
624 PCVOID pData, const UI_32 iLength);
626 //////////////////////////////////////////////////////////////////////////////////////////////
627 /// \ingroup NPUnRegisterNotifications
628 /// \~english @par Brief
629 /// API to send message to Notification Service to remove a set of notification
630 /// \~english @param[in] hNPMsgQ
631 /// HANDLE - Handle to message queue of Notification service.
632 /// \~english @param[in] pPublisherName
633 /// PCSTR - Name of Publisher message queue
634 /// \~english @param[in] numNotifications
635 /// UI_32 - Number of Notification
636 /// \~english @param[in] pNotificationArray
637 /// NotificationInfo - Array of notifications
638 /// \~english @retval EFrameworkunifiedStatus indicates success or error
639 /// \~english @retval Success(eFrameworkunifiedStatusOK)
640 /// \~english @retval Error(anything else)
642 /// EFrameworkunifiedStatus Enum
644 /// typedef enum eFrameworkunifiedStatus {
645 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
646 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
647 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
648 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
649 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
650 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
651 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
652 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
653 /// eFrameworkunifiedStatusFail = -2, ///< Failed
654 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
655 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
656 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
657 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
658 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
659 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
660 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
661 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
662 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
663 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
664 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
665 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
666 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
667 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
668 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
669 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
670 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
671 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
672 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
673 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
674 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
675 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
676 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
677 /// eFrameworkunifiedStatusNullPointer = 22,
678 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
679 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
680 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
681 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
682 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
683 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
684 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
685 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
686 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
687 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
688 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
689 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
690 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
691 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
693 /// \~english @par Preconditons
695 /// \~english @par Change of internal status
696 /// - The internal state is not changed.
697 /// \~english @par Conditions of processing failure
698 /// - Function pointer specified by the argument is NULL.
699 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
700 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
701 /// - It is an incorrect value(numNotifications).
702 /// - It is an incorrect value(pNotificationArray) or pNotificationArray is NULL.
703 /// - Allocate memory for deal with original notification array failed.
704 /// \~english @par Detail
705 /// Copy original notification array to temp allocated memory and then remove the given notifications from the
707 /// \~english @par Classification
709 /// \~english @par Type
712 /// FrameworkunifiedNPUnRegisterNotifications
713 //////////////////////////////////////////////////////////////////////////////////////////////
714 EFrameworkunifiedStatus NPUnRegisterNotifications(HANDLE hNPMsgQ, PCSTR pPublisherName, UI_32 numNotifications,
715 NotificationInfo *pNotificationArray);
717 ////////////////////////////////////////////////////////////////////////////////////////////
718 /// \ingroup NPPublishNotification
719 /// \~english @par Brief
720 /// API to send message to Notification Service to notify subscribers
721 /// \~english @param[in] hNPMsgQ
722 /// HANDLE - Handle to message queue of Notification service.
723 /// \~english @param[in] pPublisherName
724 /// PCSTR - Name of Publisher message queue
725 /// \~english @param[in] pNotification
726 /// PCSTR - Name of Notification
727 /// \~english @param[in] pData
728 /// PVOID - Data buffer
729 /// \~english @param[in] iLength
730 /// const UI_32 - Size of data buffer
731 /// \~english @retval eFrameworkunifiedStatusOK
732 /// \~english @retval eFrameworkunifiedStatusInvldParam
733 /// \~english @retval eFrameworkunifiedStatusMsgQFull
734 /// \~english @retval eFrameworkunifiedStatusErrNoEBAD
735 /// \~english @retval eFrameworkunifiedStatusErrNoEINTR
736 /// \~english @retval eFrameworkunifiedStatusInvldBufSize
737 /// \~english @retval eFrameworkunifiedStatusFail
738 /// \~english @retval eFrameworkunifiedStatusErrOther
739 /// \~english @par Preconditons
741 /// \~english @par Change of internal status
743 /// \~english @par Conditions of processing failure
744 /// - queue handle(hNPMsgQ,designated by parameter)is NULL[eFrameworkunifiedStatusInvldParam]
745 /// - pubulisher name(pPublisherName,designated by parameter)is NULL[eFrameworkunifiedStatusInvldParam]
746 /// - Notification name(pNotification)is NULL[eFrameworkunifiedStatusInvldParam]
747 /// - pubulisher name(pPublisherName,designated by parameter)is nullbuffer[eFrameworkunifiedStatusInvldParam]
748 /// - Notification name(pNotification,designated by parameter)is nullbuffer[eFrameworkunifiedStatusInvldParam]
749 /// - message queue is full [eFrameworkunifiedStatusMsgQFull]
750 /// - wrong file discriptor for message sending [eFrameworkunifiedStatusErrNoEBAD]
751 /// - system call disruput during message sending process[eFrameworkunifiedStatusErrNoEINTR]
752 /// - wrong buffer size for sending message[eFrameworkunifiedStatusInvldBufSize]
753 /// - message sending failed[eFrameworkunifiedStatusFail]
754 /// - failed access to shared memmory for message sending[eFrameworkunifiedStatusErrOther]
755 /// \~english @par Detail
756 /// send system info as Notification name and command[NPS_PUBLISH_EV_REQ] through McSendWithSysInfo()
757 /// NPP service wii process according to command[NPS_PUBLISH_EV_REQ]when get the message above
758 /// \~english @par Classification
760 /// \~english @par Type
762 /// \~english @see McSendWithSysInfo
763 ////////////////////////////////////////////////////////////////////////////////////////////
764 EFrameworkunifiedStatus NPPublishNotification(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification,
765 PCVOID pData, const UI_32 iLength);
768 //////////////////////////////////////////////////////////////////////////////////////////////
769 /// \ingroup NPSubscribeToNotification
770 /// \~english @par Brief
771 /// API to send message to Notification Service to add to subscription list for.
772 /// \~english @param[in] hNPMsgQ
773 /// HANDLE - Handle to message queue of Notification service.
774 /// \~english @param[in] pSubscriberName
775 /// PCSTR - Name of subscriber message queue
776 /// \~english @param[in] notif_name
777 /// PCSTR - Name of Notification
778 /// \~english @retval EFrameworkunifiedStatus indicates success or error
779 /// \~english @retval Success(eFrameworkunifiedStatusOK)
780 /// \~english @retval Error(anything else)
782 /// EFrameworkunifiedStatus Enum
784 /// typedef enum eFrameworkunifiedStatus {
785 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
786 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
787 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
788 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
789 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
790 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
791 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
792 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
793 /// eFrameworkunifiedStatusFail = -2, ///< Failed
794 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
795 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
796 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
797 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
798 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
799 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
800 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
801 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
802 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
803 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
804 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
805 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
806 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
807 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
808 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
809 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
810 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
811 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
812 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
813 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
814 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
815 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
816 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
817 /// eFrameworkunifiedStatusNullPointer = 22,
818 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
819 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
820 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
821 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
822 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
823 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
824 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
825 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
826 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
827 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
828 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
829 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
830 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
831 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
833 /// \~english @par Preconditons
835 /// \~english @par Change of internal status
836 /// - The internal state is not changed.
837 /// \~english @par Conditions of processing failure
838 /// - Function pointer specified by the argument is NULL.
839 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
840 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
841 /// - It is an incorrect value(notif_name) or notif_name is NULL.
842 /// \~english @par Detail
843 /// Invoke callback function to send message to Notification Service to add to subscription list for given
845 /// If callback function is null and expectedCalls is '0', using default function 'NPSubscribeToNotification' to
846 /// Notification Service to add to subscription list for given notification.
847 /// \~english @par Classification
849 /// \~english @par Type
852 /// FrameworkunifiedNPSubscribeToNotification
853 //////////////////////////////////////////////////////////////////////////////////////////////
854 EFrameworkunifiedStatus NPSubscribeToNotification(HANDLE hNPMsgQ, PCSTR pSubscriberName, PCSTR notif_name);
857 //////////////////////////////////////////////////////////////////////////////////////////////
858 /// \ingroup NPSubscribeToNotifications
859 /// \~english @par Brief
860 /// API to send message to Notification Service to add multiple subscriptions for a set of notification.
861 /// \~english @param[in] hNPMsgQ
862 /// HANDLE - Handle to message queue of Notification service.
863 /// \~english @param[in] pSubscriberName
864 /// PCSTR - Name of subscriber message queue
865 /// \~english @param[in] numNotifications
866 /// UI_32 - Number of Notifications
867 /// \~english @param[in] pSubscribeInfoArray
868 /// SubscribeInfo* - Array of SubscribeInfo
869 /// \~english @retval EFrameworkunifiedStatus indicates success or error
870 /// \~english @retval Success(eFrameworkunifiedStatusOK)
871 /// \~english @retval Error(anything else)
873 /// EFrameworkunifiedStatus Enum
875 /// typedef enum eFrameworkunifiedStatus {
876 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
877 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
878 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
879 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
880 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
881 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
882 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
883 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
884 /// eFrameworkunifiedStatusFail = -2, ///< Failed
885 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
886 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
887 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
888 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
889 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
890 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
891 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
892 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
893 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
894 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
895 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
896 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
897 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
898 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
899 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
900 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
901 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
902 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
903 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
904 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
905 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
906 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
907 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
908 /// eFrameworkunifiedStatusNullPointer = 22,
909 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
910 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
911 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
912 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
913 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
914 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
915 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
916 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
917 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
918 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
919 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
920 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
921 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
922 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
924 /// \~english @par Preconditons
926 /// \~english @par Change of internal status
927 /// - The internal state is not changed.
928 /// \~english @par Conditions of processing failure
929 /// - Function pointer specified by the argument is NULL.
930 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
931 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
932 /// - It is an incorrect value(numNotifications).
933 /// - It is an incorrect value(pSubscribeInfoArray) or pSubscribeInfoArray is NULL.
934 /// \~english @par Detail
935 /// Invoke callback function to send message to Notification Service to add multiple subscriptions for a set of
937 /// If callback function is null and expectedCalls is '0', using default function 'NPSubscribeToNotifications' to
938 /// Notification Service to add multiple subscriptions for a set of notification.
939 /// \~english @par Classification
941 /// \~english @par Type
944 /// FrameworkunifiedNPSubscribeToNotifications
945 EFrameworkunifiedStatus NPSubscribeToNotifications(HANDLE hNPMsgQ, PCSTR pSubscriberName, UI_32 numNotifications,
946 SubscribeInfo *pSubscribeInfoArray);
948 //////////////////////////////////////////////////////////////////////////////////////////////
949 /// \ingroup NPUnsubscribeFromNotification
950 /// \~english @par Brief
951 /// API to send message to Notification Service to remove from subscription list for given notification.
952 /// \~english @param[in] hNPMsgQ
953 /// HANDLE - Handle to message queue of Notification service.
954 /// \~english @param[in] pSubscriberName
955 /// PCSTR - Name of subscriber message queue
956 /// \~english @param[in] pNotification
957 /// PCSTR - Name of Notification
958 /// \~english @retval EFrameworkunifiedStatus indicates success or error
959 /// \~english @retval Success(eFrameworkunifiedStatusOK)
960 /// \~english @retval Error(anything else)
962 /// EFrameworkunifiedStatus Enum
964 /// typedef enum eFrameworkunifiedStatus {
965 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
966 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
967 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
968 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
969 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
970 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
971 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
972 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
973 /// eFrameworkunifiedStatusFail = -2, ///< Failed
974 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
975 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
976 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
977 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
978 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
979 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
980 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
981 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
982 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
983 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
984 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
985 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
986 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
987 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
988 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
989 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
990 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
991 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
992 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
993 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
994 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
995 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
996 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
997 /// eFrameworkunifiedStatusNullPointer = 22,
998 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
999 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1000 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1001 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1002 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1003 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1004 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1005 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1006 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1007 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1008 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1009 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1010 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1011 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1013 /// \~english @par Preconditons
1015 /// \~english @par Change of internal status
1016 /// - The internal state is not changed.
1017 /// \~english @par Conditions of processing failure
1018 /// - Function pointer specified by the argument is NULL.
1019 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1020 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
1021 /// - It is an incorrect value(pNotification) or pNotification is NULL.
1022 /// \~english @par Detail
1023 /// Invoke callback function to send message to Notification Service to remove from subscription list for given
1025 /// If callback function is null and expectedCalls is '0', using default function 'NPUnsubscribeFromNotification'
1026 /// to send message to Notification Service to remove from subscription list for given notification.
1027 /// \~english @par Classification
1029 /// \~english @par Type
1032 /// FrameworkunifiedNPUnsubscribeFromNotification
1033 EFrameworkunifiedStatus NPUnsubscribeFromNotification(HANDLE hNPMsgQ, PCSTR pSubscriberName, PCSTR pNotification);
1035 //////////////////////////////////////////////////////////////////////////////////////////////
1036 /// \ingroup NPUnsubscribeFromNotifications
1037 /// \~english @par Brief
1038 /// API to send message to Notification Service to unsubscribe multiple subscriptions for a set of notification.
1039 /// \~english @param[in] hNPMsgQ
1040 /// HANDLE - Handle to message queue of Notification service.
1041 /// \~english @param[in] pSubscriberName
1042 /// PCSTR - Name of subscriber message queue
1043 /// \~english @param[in] numNotifications
1044 /// UI_32 - Number of Notifications
1045 /// \~english @param[in] pUnSubscribeInfoArray
1046 /// SubscribeInfo - Array of notifications
1047 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1048 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1049 /// \~english @retval Error(anything else)
1051 /// EFrameworkunifiedStatus Enum
1053 /// typedef enum eFrameworkunifiedStatus {
1054 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1055 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1056 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1057 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1058 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1059 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1060 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1061 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1062 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1063 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1064 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1065 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1066 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1067 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1068 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1069 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1070 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1071 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1072 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1073 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1074 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1075 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1076 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1077 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1078 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1079 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1080 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1081 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1082 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1083 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1084 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1085 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1086 /// eFrameworkunifiedStatusNullPointer = 22,
1087 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1088 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1089 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1090 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1091 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1092 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1093 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1094 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1095 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1096 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1097 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1098 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1099 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1100 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1102 /// \~english @par Preconditons
1104 /// \~english @par Change of internal status
1105 /// - The internal state is not changed.
1106 /// \~english @par Conditions of processing failure
1107 /// - Function pointer specified by the argument is NULL.
1108 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1109 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
1110 /// - It is an incorrect value(numNotifications).
1111 /// - It is an incorrect value(pUnSubscribeInfoArray) or pUnSubscribeInfoArray is NULL.
1112 /// \~english @par Detail
1113 /// Invoke callback function to send message to Notification Service to unsubscribe multiple subscriptions for a
1114 /// set of notification.\n
1115 /// If callback function is null and expectedCalls is '0', using default function 'NPUnsubscribeFromNotifications'
1116 /// to send message to Notification Service to unsubscribe multiple subscriptions for a set of notification.
1117 /// \~english @par Classification
1119 /// \~english @par Type
1122 /// FrameworkunifiedNPUnsubscribeFromNotifications
1123 EFrameworkunifiedStatus NPUnsubscribeFromNotifications(HANDLE hNPMsgQ, PCSTR pUnSubscriberName, UI_32 numNotifications,
1124 SubscribeInfo *pUnSubscribeInfoArray);
1126 //////////////////////////////////////////////////////////////////////////////////////////////
1127 /// \ingroup NPReadPersistedData
1128 /// \~english @par Brief
1129 /// API to requested the persistent data corresponding to the notification if available.
1130 /// \~english @param[in] hNPMsgQ
1131 /// HANDLE - Handle to message queue of Notification service.
1132 /// \~english @param[in] pPublisherName
1133 /// PCSTR - Name of publisher message queue
1134 /// \~english @param[in] notification
1135 /// PCSTR - Name of Notification
1136 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1137 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1138 /// \~english @retval Error(anything else)
1140 /// EFrameworkunifiedStatus Enum
1142 /// typedef enum eFrameworkunifiedStatus {
1143 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1144 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1145 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1146 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1147 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1148 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1149 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1150 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1151 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1152 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1153 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1154 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1155 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1156 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1157 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1158 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1159 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1160 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1161 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1162 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1163 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1164 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1165 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1166 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1167 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1168 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1169 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1170 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1171 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1172 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1173 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1174 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1175 /// eFrameworkunifiedStatusNullPointer = 22,
1176 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1177 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1178 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1179 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1180 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1181 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1182 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1183 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1184 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1185 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1186 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1187 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1188 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1189 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1191 /// \~english @par Preconditons
1193 /// \~english @par Change of internal status
1194 /// - The internal state is not changed.
1195 /// \~english @par Conditions of processing failure
1196 /// - Function pointer specified by the argument is NULL.
1197 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1198 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
1199 /// - It is an incorrect value(notification) or notification is NULL.
1200 /// \~english @par Detail
1201 /// Invoke callback function to send message to requested the persistent data corresponding to the notification if
1203 /// If callback function is null and expectedCalls is '0', using default function 'NPReadPersistedData' to
1204 /// requested the persistent data corresponding to the notification if available.
1205 /// \~english @par Classification
1207 /// \~english @par Type
1210 /// FrameworkunifiedNPReadPersistedData
1211 EFrameworkunifiedStatus NPReadPersistedData(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR notification);
1213 //////////////////////////////////////////////////////////////////////////////////////////////
1214 /// \ingroup NPSavePersistentData
1215 /// \~english @par Brief
1216 /// API to send message to Notification Service to save all persisted data that in Ram to the file system via a
1218 /// \~english @param[in] hNPMsgQ
1219 /// HANDLE - Handle to message queue of Notification service.
1220 /// \~english @param[in] pPublisherName
1221 /// PCSTR - Name of publisher message queue
1222 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1223 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1224 /// \~english @retval Error(anything else)
1226 /// EFrameworkunifiedStatus Enum
1228 /// typedef enum eFrameworkunifiedStatus {
1229 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1230 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1231 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1232 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1233 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1234 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1235 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1236 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1237 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1238 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1239 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1240 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1241 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1242 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1243 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1244 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1245 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1246 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1247 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1248 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1249 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1250 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1251 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1252 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1253 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1254 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1255 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1256 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1257 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1258 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1259 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1260 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1261 /// eFrameworkunifiedStatusNullPointer = 22,
1262 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1263 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1264 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1265 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1266 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1267 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1268 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1269 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1270 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1271 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1272 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1273 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1274 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1275 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1277 /// \~english @par Preconditons
1279 /// \~english @par Change of internal status
1280 /// - The internal state is not changed.
1281 /// \~english @par Conditions of processing failure
1282 /// - Function pointer specified by the argument is NULL.
1283 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1284 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
1285 /// \~english @par Detail
1286 /// Invoke callback function to send message to Notification Service to save all persisted data.\n
1287 /// If callback function is null and expectedCalls is '0', using default function 'NPSavePersistentData' to send
1288 /// message to Notification Service to save all persisted data.
1289 /// \~english @par Classification
1291 /// \~english @par Type
1294 /// FrameworkunifiedNPSavePersistentData
1295 EFrameworkunifiedStatus NPSavePersistentData(HANDLE hNPMsgQ, PCSTR pPublisherName);
1297 //////////////////////////////////////////////////////////////////////////////////////////////
1298 /// \ingroup NPRegisterPersistentFile
1299 /// \~english @par Brief
1300 /// API to send message to Notification Service to add a file path as to be persisted.
1301 /// \~english @param[in] hNPMsgQ
1302 /// HANDLE - Handle to message queue of Notification service.
1303 /// \~english @param[in] pPublisherName
1304 /// PCSTR - Name of publisher message queue.
1305 /// \~english @param[in] pTag
1306 /// PCSTR - A unique identifier for the file path specified, this is used in retrieve/Load the file later.
1307 /// \~english @param[in] bIsUserFile
1308 /// BOOL - Set TRUE, if registering user file.
1309 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1310 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1311 /// \~english @retval Error(anything else)
1313 /// EFrameworkunifiedStatus Enum
1315 /// typedef enum eFrameworkunifiedStatus {
1316 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1317 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1318 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1319 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1320 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1321 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1322 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1323 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1324 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1325 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1326 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1327 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1328 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1329 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1330 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1331 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1332 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1333 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1334 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1335 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1336 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1337 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1338 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1339 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1340 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1341 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1342 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1343 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1344 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1345 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1346 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1347 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1348 /// eFrameworkunifiedStatusNullPointer = 22,
1349 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1350 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1351 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1352 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1353 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1354 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1355 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1356 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1357 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1358 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1359 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1360 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1361 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1362 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1364 /// \~english @par Preconditons
1366 /// \~english @par Change of internal status
1367 /// - The internal state is not changed.
1368 /// \~english @par Conditions of processing failure
1369 /// - Function pointer specified by the argument is NULL.
1370 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1371 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
1372 /// - It is an incorrect value(pTag) or pTag is NULL.
1373 /// \~english @par Detail
1374 /// Invoke callback function to send message to Notification Service to add a file path as to be persisted.\n
1375 /// If callback function is null and expectedCalls is '0', using default function 'NPRegisterPersistentFile' to
1376 /// send message to Notification Service to add a file path as to be persisted.
1377 /// \~english @par Classification
1379 /// \~english @par Type
1382 /// FrameworkunifiedNPRegisterPersistentFile
1383 EFrameworkunifiedStatus NPRegisterPersistentFile(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pTag, BOOL bIsUserFile);
1385 //////////////////////////////////////////////////////////////////////////////////////////////
1386 /// \ingroup NPSetFilePersistentType
1387 /// \~english @par Brief
1388 /// API to send message to Notification Service to add a file path as to be persisted.
1389 /// \~english @param[in] hNPMsgQ
1390 /// HANDLE - Handle to message queue of Notification service.
1391 /// \~english @param[in] pPublisherName
1392 /// PCSTR - Name of publisher message queue.
1393 /// \~english @param[in] pTag
1394 /// PCSTR - A unique identifier for the file path specified, this is used in retrieve/Load the file later.
1395 /// \~english @param[in] ePersistCategory
1396 /// EFrameworkunifiedPersistCategory - persist category
1397 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1398 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1399 /// \~english @retval Error(anything else)
1401 /// EFrameworkunifiedStatus Enum
1403 /// typedef enum eFrameworkunifiedStatus {
1404 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1405 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1406 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1407 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1408 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1409 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1410 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1411 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1412 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1413 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1414 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1415 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1416 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1417 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1418 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1419 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1420 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1421 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1422 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1423 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1424 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1425 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1426 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1427 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1428 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1429 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1430 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1431 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1432 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1433 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1434 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1435 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1436 /// eFrameworkunifiedStatusNullPointer = 22,
1437 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1438 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1439 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1440 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1441 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1442 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1443 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1444 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1445 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1446 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1447 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1448 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1449 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1450 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1452 /// \~english @par Preconditons
1454 /// \~english @par Change of internal status
1455 /// - The internal state is not changed.
1456 /// \~english @par Conditions of processing failure
1457 /// - Function pointer specified by the argument is NULL.
1458 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1459 /// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL.
1460 /// - It is an incorrect value(pTag) or pTag is NULL.
1461 /// \~english @par Detail
1462 /// Invoke callback function to send message to Notification Service to add a file path as to be persisted. \n
1463 /// If callback function is null and expectedCalls is '0', using default function 'NPSetFilePersistentType' to
1464 /// send message to Notification Service to add a file path as to be persisted.
1465 /// \~english @par Classification
1467 /// \~english @par Type
1470 /// FrameworkunifiedNPSetFilePersistentType
1471 EFrameworkunifiedStatus NPSetFilePersistentType(HANDLE hNPMsgQ, PCSTR pPublisherName,
1472 PCSTR pTag, EFrameworkunifiedPersistCategory ePersistCategory);
1474 //////////////////////////////////////////////////////////////////////////////////////////////
1475 /// \ingroup NPLoadPersistentFile
1476 /// \~english @par Brief
1477 /// API to send message to Notification Service to copy file from persistent memory to
1478 /// specified path. The caller recieves an acknowledgement once NPS completes file copy
1479 /// \~english @param[in] hNPMsgQ
1480 /// HANDLE - Handle to message queue of Notification service.
1481 /// \~english @param[in] pPublisherName
1482 /// PCSTR - Name of publisher message queue.
1483 /// \~english @param[in] pDstFilePath
1484 /// PCSTR - Complete file path to which the file should be copied from persistent area.
1485 /// \~english @param[in] pTag
1486 /// PCSTR - Tag associated with the file that needs to be copied to pDstFilePath.
1487 /// \~english @param[in] hUser
1488 /// HANDLE - Load the file for the specified user.
1489 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1490 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1491 /// \~english @retval Error(anything else)
1493 /// EFrameworkunifiedStatus Enum
1495 /// typedef enum eFrameworkunifiedStatus {
1496 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1497 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1498 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1499 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1500 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1501 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1502 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1503 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1504 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1505 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1506 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1507 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1508 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1509 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1510 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1511 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1512 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1513 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1514 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1515 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1516 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1517 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1518 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1519 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1520 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1521 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1522 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1523 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1524 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1525 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1526 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1527 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1528 /// eFrameworkunifiedStatusNullPointer = 22,
1529 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1530 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1531 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1532 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1533 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1534 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1535 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1536 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1537 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1538 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1539 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1540 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1541 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1542 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1544 /// \~english @par Preconditons
1546 /// \~english @par Change of internal status
1547 /// - The internal state is not changed.
1548 /// \~english @par Conditions of processing failure
1549 /// - Function pointer specified by the argument is NULL.
1550 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1551 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
1552 /// - It is an incorrect value(pDstFilePath) or pDstFilePath is NULL.
1553 /// - It is an incorrect value(pTag) or pTag is NULL.
1554 /// - It is an incorrect value(hUser) or hUser is NULL.
1555 /// \~english @par Detail
1556 /// Invoke callback function to send message to Notification Service to copy file from persistent memory to
1557 /// specified path. \n
1558 /// If callback function is null and expectedCalls is '0', using default function 'NPLoadPersistentFile' to send
1559 /// message to Notification Service to copy file from persistent memory to specified path.
1560 /// \~english @par Classification
1562 /// \~english @par Type
1565 /// FrameworkunifiedNPLoadPersistentFile
1566 EFrameworkunifiedStatus NPLoadPersistentFile(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pDstFilePath,
1567 PCSTR pTag, HANDLE hUser);
1569 //////////////////////////////////////////////////////////////////////////////////////////////
1570 /// \ingroup NPReleasePersistentFile
1571 /// \~english @par Brief
1572 /// API to send message to Notification Service to notify that the file can be persisted.
1573 /// \~english @param[in] hNPMsgQ
1574 /// HANDLE - Handle to message queue of Notification service.
1575 /// \~english @param[in] pPublisherName
1576 /// PCSTR - Name of publisher message queue.
1577 /// \~english @param[in] eReleaseType
1578 /// EFrameworkunifiedReleaseType - eFrameworkunifiedNotOnRelease:not on release
1579 /// eFrameworkunifiedPersistOnShutdown:persist on shutdown
1580 /// eFrameworkunifiedPersistInstantly:persist instantly
1581 /// \~english @param[in] pTag
1582 /// PCSTR - Tag associated with the file released
1583 /// \~english @param[in] pFullFilePath
1584 /// PCSTR - Full path name of the file to be persisted
1585 /// \~english @param[in] hUser
1586 /// HANDLE - Release the file for the specified user.
1587 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1588 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1589 /// \~english @retval Error(anything else)
1591 /// EFrameworkunifiedStatus Enum
1593 /// typedef enum eFrameworkunifiedStatus {
1594 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1595 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1596 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1597 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1598 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1599 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1600 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1601 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1602 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1603 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1604 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1605 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1606 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1607 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1608 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1609 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1610 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1611 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1612 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1613 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1614 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1615 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1616 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1617 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1618 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1619 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1620 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1621 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1622 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1623 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1624 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1625 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1626 /// eFrameworkunifiedStatusNullPointer = 22,
1627 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1628 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1629 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1630 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1631 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1632 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1633 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1634 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1635 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1636 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1637 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1638 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1639 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1640 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1642 /// \~english @par Preconditons
1644 /// \~english @par Change of internal status
1645 /// - The internal state is not changed.
1646 /// \~english @par Conditions of processing failure
1647 /// - Function pointer specified by the argument is NULL.
1648 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1649 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
1650 /// - It is an incorrect value(pDstFilePath) or pDstFilePath is NULL.
1651 /// - It is an incorrect value(pTag) or pTag is NULL.
1652 /// - It is an incorrect value(pFullFilePath) or pFullFilePath is NULL.
1653 /// - It is an incorrect value(hUser) or hUser is NULL.
1654 /// \~english @par Detail
1655 /// Invoke callback function to send message to Notification Service to notify that the file can be persisted. \n
1656 /// If callback function is null and expectedCalls is '0', using default function 'NPReleasePersistentFile' to
1657 /// send message to Notification Service to notify that the file can be persisted.
1658 /// \~english @par Classification
1660 /// \~english @par Type
1663 /// FrameworkunifiedNPReleasePersistentFile
1664 EFrameworkunifiedStatus NPReleasePersistentFile(HANDLE hNPMsgQ, PCSTR pPublisherName, EFrameworkunifiedReleaseType eReleaseType, PCSTR pTag,
1665 PCSTR pFullFilePath, HANDLE hUser);
1667 //////////////////////////////////////////////////////////////////////////////////////////////
1668 /// \ingroup NPPersistentSync
1669 /// \~english @par Brief
1670 /// API to synchronizes by NPPService.
1671 /// \~english @param[in] hNPMsgQ
1672 /// HANDLE - Handle to message queue of Notification service.
1673 /// \~english @param[in] pPublisherName
1674 /// PCSTR - Name of publisher message queue.
1675 /// \~english @param[in] eReleaseType
1676 /// EFrameworkunifiedReleaseType - eFrameworkunifiedNotOnRelease:not on release
1677 /// eFrameworkunifiedPersistOnShutdown:persist on shutdown
1678 /// eFrameworkunifiedPersistInstantly:persist instantly
1679 /// \~english @param[in] SrcName
1680 /// PCSTR - source service name.
1681 /// \~english @param[in] sessionid
1682 /// UI_32 - session ID
1683 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1684 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1685 /// \~english @retval Error(anything else)
1687 /// EFrameworkunifiedStatus Enum
1689 /// typedef enum eFrameworkunifiedStatus {
1690 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1691 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1692 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1693 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1694 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1695 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1696 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1697 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1698 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1699 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1700 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1701 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1702 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1703 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1704 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1705 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1706 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1707 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1708 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1709 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1710 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1711 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1712 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1713 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1714 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1715 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1716 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1717 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1718 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1719 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1720 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1721 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1722 /// eFrameworkunifiedStatusNullPointer = 22,
1723 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1724 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1725 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1726 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1727 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1728 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1729 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1730 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1731 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1732 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1733 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1734 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1735 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1736 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1738 /// \~english @par Preconditons
1740 /// \~english @par Change of internal status
1741 /// - The internal state is not changed.
1742 /// \~english @par Conditions of processing failure
1743 /// - Function pointer specified by the argument is NULL.
1744 /// - It is an incorrect value(SrcName) or SrcName is NULL.
1745 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1746 /// - It is an incorrect value(sessionid).
1747 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
1748 /// \~english @par Detail
1749 /// Invoke callback function to synchronizes by NPPService. \n
1750 /// If callback function is null and expectedCalls is '0', using default function 'NPPersistentSync' to
1751 /// synchronizes by NPPService.
1752 /// \~english @par Classification
1754 /// \~english @par Type
1757 /// FrameworkunifiedNPPersistentSync
1758 EFrameworkunifiedStatus NPPersistentSync(PCSTR SrcName, HANDLE hNPMsgQ, UI_32 sessionid, PCSTR pPublisherName);
1760 //////////////////////////////////////////////////////////////////////////////////////////////
1761 /// \ingroup NPSetPersonality
1762 /// \~english @par Brief
1763 /// API to send message to Notification Service to set the Personality.
1764 /// \~english @param[in] hNPMsgQ
1765 /// HANDLE - Handle to message queue of Notification service.
1766 /// \~english @param[in] pPublisherName
1767 /// PCSTR - Name of publisher message queue.
1768 /// \~english @param[in] pUserName
1769 /// PCSTR - Name of new Personality
1770 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1771 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1772 /// \~english @retval Error(anything else)
1774 /// EFrameworkunifiedStatus Enum
1776 /// typedef enum eFrameworkunifiedStatus {
1777 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1778 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1779 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1780 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1781 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1782 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1783 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1784 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1785 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1786 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1787 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1788 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1789 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1790 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1791 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1792 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1793 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1794 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1795 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1796 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1797 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1798 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1799 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1800 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1801 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1802 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1803 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1804 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1805 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1806 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1807 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1808 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1809 /// eFrameworkunifiedStatusNullPointer = 22,
1810 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1811 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1812 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1813 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1814 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1815 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1816 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1817 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1818 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1819 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1820 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1821 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1822 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1823 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1825 /// \~english @par Preconditons
1827 /// \~english @par Change of internal status
1828 /// - The internal state is not changed.
1829 /// \~english @par Conditions of processing failure
1830 /// - Function pointer specified by the argument is NULL.
1831 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1832 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
1833 /// - It is an incorrect value(pUserName) or pUserName is NULL.
1834 /// \~english @par Detail
1835 /// Invoke callback function to send message to Notification Service to set the Personality. \n
1836 /// If callback function is null and expectedCalls is '0', using default function 'NPSetPersonality' to send
1837 /// message to Notification Service to set the Personality.
1838 /// \~english @par Classification
1840 /// \~english @par Type
1843 /// FrameworkunifiedNPSetPersonality
1844 EFrameworkunifiedStatus NPSetPersonality(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pUserName);
1846 //////////////////////////////////////////////////////////////////////////////////////////////
1847 /// \ingroup NPChangePersonality
1848 /// \~english @par Brief
1849 /// API to send message to Notification Service to change the current Personality.
1850 /// \~english @param[in] hNPMsgQ
1851 /// HANDLE - Handle to message queue of Notification service.
1852 /// \~english @param[in] pPublisherName
1853 /// PCSTR - Name of publisher message queue.
1854 /// \~english @param[in] pUserName
1855 /// PCSTR - Name of new Personality
1856 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1857 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1858 /// \~english @retval Error(anything else)
1860 /// EFrameworkunifiedStatus Enum
1862 /// typedef enum eFrameworkunifiedStatus {
1863 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1864 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1865 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1866 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1867 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1868 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1869 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1870 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1871 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1872 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1873 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1874 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1875 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1876 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1877 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1878 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1879 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1880 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1881 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1882 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1883 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1884 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1885 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1886 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1887 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1888 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1889 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1890 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1891 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1892 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1893 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1894 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1895 /// eFrameworkunifiedStatusNullPointer = 22,
1896 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1897 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1898 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1899 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1900 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1901 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1902 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1903 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1904 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1905 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1906 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1907 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1908 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1909 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1911 /// \~english @par Preconditons
1913 /// \~english @par Change of internal status
1914 /// - The internal state is not changed.
1915 /// \~english @par Conditions of processing failure
1916 /// - Function pointer specified by the argument is NULL.
1917 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
1918 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
1919 /// - It is an incorrect value(pUserName) or pUserName is NULL.
1920 /// \~english @par Detail
1921 /// Invoke callback function to send message to Notification Service to change the current Personality. \n
1922 /// If callback function is null and expectedCalls is '0', using default function 'NPChangePersonality' to send
1923 /// message to Notification Service to change the current Personality.
1924 /// \~english @par Classification
1926 /// \~english @par Type
1929 /// FrameworkunifiedNPChangePersonality
1930 EFrameworkunifiedStatus NPChangePersonality(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pUserName);
1932 //////////////////////////////////////////////////////////////////////////////////////////////
1933 /// \ingroup NPGetReadyStatusOfNPP
1934 /// \~english @par Brief
1935 /// To be used by System Manager Service only. SystemManager will use this API to get the ready status of
1937 /// \~english @param[in] hNPMsgQ
1938 /// HANDLE - Handle to message queue of Notification service.
1939 /// \~english @param[in] pRequesterName
1940 /// PCSTR - Name of the requesters message queue.
1941 /// \~english @param[in] pUserName
1942 /// PCSTR - Name of new Personality
1943 /// \~english @retval EFrameworkunifiedStatus indicates success or error
1944 /// \~english @retval Success(eFrameworkunifiedStatusOK)
1945 /// \~english @retval Error(anything else)
1947 /// EFrameworkunifiedStatus Enum
1949 /// typedef enum eFrameworkunifiedStatus {
1950 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
1951 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
1952 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
1953 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
1954 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
1955 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
1956 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
1957 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
1958 /// eFrameworkunifiedStatusFail = -2, ///< Failed
1959 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
1960 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
1961 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
1962 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
1963 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
1964 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
1965 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
1966 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
1967 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
1968 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
1969 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
1970 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
1971 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
1972 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
1973 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
1974 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
1975 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
1976 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
1977 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
1978 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
1979 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
1980 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
1981 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
1982 /// eFrameworkunifiedStatusNullPointer = 22,
1983 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
1984 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
1985 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
1986 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
1987 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
1988 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
1989 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
1990 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
1991 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
1992 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
1993 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
1994 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
1995 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
1996 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
1998 /// \~english @par Preconditons
2000 /// \~english @par Change of internal status
2001 /// - The internal state is not changed.
2002 /// \~english @par Conditions of processing failure
2003 /// - Function pointer specified by the argument is NULL.
2004 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
2005 /// - It is an incorrect value(pRequesterName) or pRequesterName is NULL.
2006 /// - It is an incorrect value(pUserName) or pUserName is NULL.
2007 /// \~english @par Detail
2008 /// Invoke callback function to get the ready status of NPPService. \n
2009 /// If callback function is null and expectedCalls is '0', using default function 'NPGetReadyStatusOfNPP' to get
2010 /// the ready status of NPPService.
2011 /// \~english @par Classification
2013 /// \~english @par Type
2016 /// FrameworkunifiedNPGetReadyStatusOfNPP
2017 EFrameworkunifiedStatus NPGetReadyStatusOfNPP(HANDLE hNPMsgQ, PCSTR pRequesterName);
2019 //////////////////////////////////////////////////////////////////////////////////////////////
2020 /// \ingroup NPClearPersistedData
2021 /// \~english @par Brief
2022 /// API to delete the persisted data of NS_NPS.
2023 /// Note: Currently to be used by HMI service only
2024 /// \~english @param[in] hNPMsgQ
2025 /// HANDLE - Handle to message queue of Notification service.
2026 /// \~english @param[in] pRequesterName
2027 /// PCSTR - Name of the requesters message queue.
2028 /// \~english @param[in] eFrameworkunifiedClearPersistenceScope
2029 /// EFrameworkunifiedClearPersistence - specifies what data to delete from persistent memory.
2030 /// \~english @retval EFrameworkunifiedStatus indicates success or error
2031 /// \~english @retval Success(eFrameworkunifiedStatusOK)
2032 /// \~english @retval Error(anything else)
2034 /// EFrameworkunifiedStatus Enum
2036 /// typedef enum eFrameworkunifiedStatus {
2037 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
2038 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
2039 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
2040 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
2041 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
2042 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
2043 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
2044 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
2045 /// eFrameworkunifiedStatusFail = -2, ///< Failed
2046 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
2047 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
2048 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
2049 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
2050 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
2051 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
2052 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
2053 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
2054 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
2055 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
2056 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
2057 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
2058 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
2059 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
2060 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
2061 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
2062 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
2063 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
2064 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
2065 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
2066 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
2067 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
2068 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
2069 /// eFrameworkunifiedStatusNullPointer = 22,
2070 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
2071 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
2072 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
2073 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
2074 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
2075 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
2076 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
2077 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
2078 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
2079 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
2080 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
2081 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
2082 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
2083 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
2085 /// \~english @par Preconditons
2087 /// \~english @par Change of internal status
2088 /// - The internal state is not changed.
2089 /// \~english @par Conditions of processing failure
2090 /// - Function pointer specified by the argument is NULL.
2091 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
2092 /// - It is an incorrect value(pRequesterName) or pRequesterName is NULL.
2093 /// \~english @par Detail
2094 /// Invoke callback function to delete the persisted data of NS_NPS.\n
2095 /// If callback function is null and expectedCalls is '0', using default function 'NPClearPersistedData' to delete
2096 /// the persisted data of NS_NPS.
2097 /// \~english @par Classification
2099 /// \~english @par Type
2102 /// FrameworkunifiedNPClearPersistedData
2103 EFrameworkunifiedStatus NPClearPersistedData(HANDLE hNPMsgQ, PCSTR pRequesterName, EFrameworkunifiedClearPersistence eFrameworkunifiedClearPersistenceScope);
2105 //////////////////////////////////////////////////////////////////////////////////////////////
2106 /// \ingroup NPRegisterPersistentFolder
2107 /// \~english @par Brief
2108 /// API to send message to Notification Service to add a folder path as to be persisted.
2109 /// \~english @param[in] hNPMsgQ
2110 /// HANDLE - Handle to message queue of Notification service.
2111 /// \~english @param[in] pPublisherName
2112 /// PCSTR - Name of publisher message queue.
2113 /// \~english @param[in] pTag
2114 /// PCSTR - A unique identifier for the folder path specified, this is used in retrieve/Load the folder later.
2115 /// \~english @param[in] bIsUserFolder
2116 /// BOOL - Set TRUE, if registering user folder.
2117 /// \~english @retval EFrameworkunifiedStatus indicates success or error
2118 /// \~english @retval Success(eFrameworkunifiedStatusOK)
2119 /// \~english @retval Error(anything else)
2121 /// EFrameworkunifiedStatus Enum
2123 /// typedef enum eFrameworkunifiedStatus {
2124 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
2125 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
2126 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
2127 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
2128 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
2129 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
2130 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
2131 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
2132 /// eFrameworkunifiedStatusFail = -2, ///< Failed
2133 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
2134 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
2135 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
2136 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
2137 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
2138 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
2139 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
2140 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
2141 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
2142 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
2143 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
2144 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
2145 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
2146 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
2147 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
2148 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
2149 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
2150 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
2151 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
2152 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
2153 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
2154 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
2155 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
2156 /// eFrameworkunifiedStatusNullPointer = 22,
2157 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
2158 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
2159 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
2160 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
2161 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
2162 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
2163 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
2164 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
2165 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
2166 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
2167 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
2168 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
2169 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
2170 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
2172 /// \~english @par Preconditons
2174 /// \~english @par Change of internal status
2175 /// - The internal state is not changed.
2176 /// \~english @par Conditions of processing failure
2177 /// - Function pointer specified by the argument is NULL.
2178 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
2179 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
2180 /// - It is an incorrect value(pTag) or pTag is NULL.
2181 /// \~english @par Detail
2182 /// Invoke callback function to send message to Notification Service to add a folder path as to be persisted.\n
2183 /// If callback function is null and expectedCalls is '0', using default function 'NPRegisterPersistentFolder' to
2184 /// send message to Notification Service to add a folder path as to be persisted.
2185 /// \~english @par Classification
2187 /// \~english @par Type
2190 /// FrameworkunifiedNPRegisterPersistentFolder
2191 EFrameworkunifiedStatus NPRegisterPersistentFolder(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pTag, BOOL bIsUserFolder);
2193 //////////////////////////////////////////////////////////////////////////////////////////////
2194 /// \ingroup NPSetFolderPersistentType
2195 /// \~english @par Brief
2196 /// API to send message to Notification Service to set the persist category of file.
2197 /// \~english @param[in] hNPMsgQ
2198 /// HANDLE - Handle to message queue of Notification service.
2199 /// \~english @param[in] pPublisherName
2200 /// PCSTR - Name of publisher message queue.
2201 /// \~english @param[in] pTag
2202 /// PCSTR - A unique identifier for the file path specified, this is used in retrieve/Load the file later
2203 /// \~english @param[in] ePersistCategory
2204 /// EFrameworkunifiedPersistCategory - persist category
2205 /// \~english @retval EFrameworkunifiedStatus indicates success or error
2206 /// \~english @retval Success(eFrameworkunifiedStatusOK)
2207 /// \~english @retval Error(anything else)
2209 /// EFrameworkunifiedStatus Enum
2211 /// typedef enum eFrameworkunifiedStatus {
2212 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
2213 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
2214 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
2215 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
2216 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
2217 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
2218 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
2219 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
2220 /// eFrameworkunifiedStatusFail = -2, ///< Failed
2221 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
2222 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
2223 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
2224 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
2225 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
2226 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
2227 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
2228 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
2229 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
2230 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
2231 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
2232 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
2233 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
2234 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
2235 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
2236 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
2237 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
2238 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
2239 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
2240 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
2241 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
2242 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
2243 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
2244 /// eFrameworkunifiedStatusNullPointer = 22,
2245 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
2246 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
2247 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
2248 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
2249 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
2250 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
2251 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
2252 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
2253 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
2254 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
2255 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
2256 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
2257 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
2258 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
2260 /// \~english @par Preconditons
2262 /// \~english @par Change of internal status
2263 /// - The internal state is not changed.
2264 /// \~english @par Conditions of processing failure
2265 /// - Function pointer specified by the argument is NULL.
2266 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
2267 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
2268 /// - It is an incorrect value(pTag) or pTag is NULL.
2269 /// \~english @par Detail
2270 /// Invoke callback function to send message to Notification Service to set the persist category of file.\n
2271 /// If callback function is null and expectedCalls is '0', using default function 'NPSetFolderPersistentType' to
2272 /// send message to Notification Service to set the persist category of file.
2273 /// \~english @par Classification
2275 /// \~english @par Type
2278 /// FrameworkunifiedNPSetFolderPersistentType
2279 EFrameworkunifiedStatus NPSetFolderPersistentType(HANDLE hNPMsgQ, PCSTR pPublisherName,
2280 PCSTR pTag, EFrameworkunifiedPersistCategory ePersistCategory);
2282 //////////////////////////////////////////////////////////////////////////////////////////////
2283 /// \ingroup NPLoadPersistentFolder
2284 /// \~english @par Brief
2285 /// API to send message to Notification Service to copy folder from persistent memory to
2286 /// specified path. The caller recieves an acknowledgement once NPS completes folder copy.
2287 /// \~english @param[in] hNPMsgQ
2288 /// HANDLE - Handle to message queue of Notification service.
2289 /// \~english @param[in] pPublisherName
2290 /// PCSTR - Name of publisher message queue.
2291 /// \~english @param[in] pDstFolderPath
2292 /// PCSTR - Complete folder path to which the folder should be copied from persistent area
2293 /// \~english @param[in] pTag
2294 /// PCSTR - Tag associated with the folder that needs to be copied to pDstFolderPath
2295 /// \~english @param[in] hUser
2296 /// HANDLE - Name of new Personality
2297 /// \~english @retval EFrameworkunifiedStatus indicates success or error
2298 /// \~english @retval Success(eFrameworkunifiedStatusOK)
2299 /// \~english @retval Error(anything else)
2301 /// EFrameworkunifiedStatus Enum
2303 /// typedef enum eFrameworkunifiedStatus {
2304 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
2305 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
2306 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
2307 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
2308 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
2309 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
2310 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
2311 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
2312 /// eFrameworkunifiedStatusFail = -2, ///< Failed
2313 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
2314 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
2315 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
2316 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
2317 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
2318 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
2319 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
2320 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
2321 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
2322 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
2323 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
2324 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
2325 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
2326 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
2327 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
2328 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
2329 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
2330 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
2331 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
2332 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
2333 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
2334 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
2335 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
2336 /// eFrameworkunifiedStatusNullPointer = 22,
2337 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
2338 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
2339 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
2340 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
2341 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
2342 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
2343 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
2344 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
2345 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
2346 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
2347 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
2348 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
2349 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
2350 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
2352 /// \~english @par Preconditons
2354 /// \~english @par Change of internal status
2355 /// - The internal state is not changed.
2356 /// \~english @par Conditions of processing failure
2357 /// - Function pointer specified by the argument is NULL.
2358 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
2359 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
2360 /// - It is an incorrect value(pDstFolderPath) or pDstFolderPath is NULL.
2361 /// - It is an incorrect value(pTag) or pTag is NULL.
2362 /// - It is an incorrect value(hUser) or hUser is NULL.
2363 /// \~english @par Detail
2364 /// Invoke callback function to send message to Notification Service to copy folder from persistent memory to
2365 /// specified path.\n
2366 /// If callback function is null and expectedCalls is '0', using default function 'NPLoadPersistentFolder' to send
2367 /// message to Notification Service to copy folder from persistent memory to specified path.
2368 /// \~english @par Classification
2370 /// \~english @par Type
2373 /// FrameworkunifiedNPLoadPersistentFolder
2374 EFrameworkunifiedStatus NPLoadPersistentFolder(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pDstFolderPath,
2375 PCSTR pTag, HANDLE hUser);
2377 //////////////////////////////////////////////////////////////////////////////////////////////
2378 /// \ingroup NPReleasePersistentFolder
2379 /// \~english @par Brief
2380 /// API to send message to Notification Service to notify that the folder can be persisted.
2381 /// \~english @param[in] hNPMsgQ
2382 /// HANDLE - Handle to the Framework
2383 /// \~english @param[in] pPublisherName
2384 /// PCSTR - Name of publisher message queue.
2385 /// \~english @param[in] eFrameworkunifiedReleaseType
2386 /// EFrameworkunifiedReleaseType - eFrameworkunifiedNotOnRelease :not on release
2387 /// eFrameworkunifiedPersistOnShutdown:persist on shutdown
2388 /// eFrameworkunifiedPersistInstantly :persist instantly
2389 /// \~english @param[in] pTag
2390 /// PCSTR - Tag associated with the folder released
2391 /// \~english @param[in] pFullFolderPath
2392 /// PCSTR - Full path name of the folder to be persisted
2393 /// \~english @param[in] hUser
2394 /// HANDLE - Name of new Personality
2395 /// \~english @retval EFrameworkunifiedStatus indicates success or error
2396 /// \~english @retval Success(eFrameworkunifiedStatusOK)
2397 /// \~english @retval Error(anything else)
2399 /// EFrameworkunifiedStatus Enum
2401 /// typedef enum eFrameworkunifiedStatus {
2402 /// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list
2403 /// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached
2404 /// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found
2405 /// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error
2406 /// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail
2407 /// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed
2408 /// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed
2409 /// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed
2410 /// eFrameworkunifiedStatusFail = -2, ///< Failed
2411 /// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error
2412 /// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK
2413 /// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer
2414 /// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle
2415 /// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type
2416 /// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name
2417 /// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full
2418 /// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present
2419 /// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter
2420 /// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small
2421 /// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID
2422 /// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource
2423 /// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource
2424 /// eFrameworkunifiedStatusExit = 12, ///< Normal application termination
2425 /// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature
2426 /// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined
2427 /// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself
2428 /// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed
2429 /// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist
2430 /// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call
2431 /// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir
2432 /// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request
2433 /// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress
2434 /// eFrameworkunifiedStatusNullPointer = 22,
2435 /// eFrameworkunifiedStatusMsgNotProcessed = 23,
2436 /// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success
2437 /// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error
2438 /// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource
2439 /// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry
2440 /// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty
2441 /// eFrameworkunifiedStatusThreadAlreadyRunning = 29,
2442 /// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor
2443 /// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again
2444 /// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call
2445 /// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling
2446 /// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt
2447 /// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found
2448 /// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus;
2450 /// \~english @par Preconditons
2452 /// \~english @par Change of internal status
2453 /// - The internal state is not changed.
2454 /// \~english @par Conditions of processing failure
2455 /// - Function pointer specified by the argument is NULL.
2456 /// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL.
2457 /// - It is an incorrect value(pPublisherName) or pPublisherName is NULL.
2458 /// - It is an incorrect value(pDstFolderPath) or pDstFolderPath is NULL.
2459 /// - It is an incorrect value(pTag) or pTag is NULL.
2460 /// - It is an incorrect value(hUser) or hUser is NULL.
2461 /// \~english @par Detail
2462 /// Invoke callback function to send message to Notification Service to notify that the folder can be persisted.\n
2463 /// If callback function is null and expectedCalls is '0', using default function 'NPReleasePersistentFolder' to
2464 /// send message to Notification Service to notify that the folder can be persisted.
2465 /// \~english @par Classification
2467 /// \~english @par Type
2470 /// FrameworkunifiedNPReleasePersistentFolder
2471 EFrameworkunifiedStatus NPReleasePersistentFolder(HANDLE hNPMsgQ, PCSTR pPublisherName, EFrameworkunifiedReleaseType eFrameworkunifiedReleaseType, PCSTR pTag,
2472 PCSTR pFullFolderPath, HANDLE hUser);
2478 #endif /* __NATIVESERVICES_NP_SERVICE_IF_H__ */ // NOLINT (build/header_guard)
2479 /** @}*/ // end of notification_persistent_service
2480 /** @}*/ // end of native_service
2481 /** @}*/ // end of BaseSystem