From 8e0e00d21146a84c18f9cf9409e187b4fb0248aa Mon Sep 17 00:00:00 2001 From: Riku Nomoto Date: Thu, 19 Nov 2020 12:45:32 +0900 Subject: Init basesystem source codes. Signed-off-by: Riku Nomoto Change-Id: I55aa2f1406ce7f751ae14140b613b53b68995528 --- .../include/native_service/ns_np_service_if.h | 2482 ++++++++++++++++++++ 1 file changed, 2482 insertions(+) create mode 100755 video_in_hal/nsframework/framework_unified/client/include/native_service/ns_np_service_if.h (limited to 'video_in_hal/nsframework/framework_unified/client/include/native_service/ns_np_service_if.h') diff --git a/video_in_hal/nsframework/framework_unified/client/include/native_service/ns_np_service_if.h b/video_in_hal/nsframework/framework_unified/client/include/native_service/ns_np_service_if.h new file mode 100755 index 0000000..b188958 --- /dev/null +++ b/video_in_hal/nsframework/framework_unified/client/include/native_service/ns_np_service_if.h @@ -0,0 +1,2482 @@ +/* + * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION. + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +/** + * @file ns_np_service_if.h + * @brief \~english Declares the external APIs to Notification and Persistence Service. + */ + +/** @addtogroup BaseSystem + * @{ + */ +/** @addtogroup native_service + * @ingroup BaseSystem + * @{ + */ +/** @addtogroup notification_persistent_service + * @ingroup native_service + * @{ + */ + +#ifndef __NATIVESERVICES_NP_SERVICE_IF_H__ // NOLINT (build/header_guard) +#define __NATIVESERVICES_NP_SERVICE_IF_H__ + +/////////////////////////////////////////////////////////////////////////////// +// Include Files +/////////////////////////////////////////////////////////////////////////////// +#include + +#ifdef __cplusplus +extern "C" { +#endif + +/** + * \~english A structure to Notification Info + */ +typedef struct _NotificationInfo { + CHAR notificationName[MAX_STRING_SIZE_NOTIFICATION]; ///< Notification Event Name string + UI_32 maxLength; ///< Maximum possible length (bytes) of the message data + EFrameworkunifiedNotificationType persType; ///< Specifies persitence for this notification + UI_8 dummy[4]; ///< Packing to 32 bit boundary +} NotificationInfo; + +/** + * \~english A structure to Immediate Notification Info + */ +typedef struct _ImmediateNotificationInfo { + CHAR notificationName[MAX_STRING_SIZE_NOTIFICATION]; ///< Notification Event Name string + UI_32 maxLength; ///< Maximum possible length (bytes) of the message data + EFrameworkunifiedNotificationType persType; ///< Specifies persitence for this notification + UI_32 delay; + UI_8 dummy[4]; ///< Packing to 32 bit boundary +} ImmediateNotificationInfo; + +/** + * \~english A structure to Subscribe Info + */ +typedef struct _SubscribeInfo { + CHAR notificationName[MAX_STRING_SIZE_NOTIFICATION]; ///< Notification Event Name string +} SubscribeInfo; + + + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPRegisterNotifications +/// \~english @par Brief +/// API to send message to Notification Service to register a set of notification +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of Publisher message queue +/// \~english @param[in] numNotifications +/// PCSTR - Name of Notification +/// \~english @param[in] pNotificationArray +/// NotificationInfo - Array of notifications +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(numNotifications). +/// - It is an incorrect value(pNotificationArray) or pNotificationArray is NULL. +/// \~english @par Detail +/// Invoke callback function with arguments to register a set of notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPRegisterNotifications' to +/// register a set of notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPRegisterNotification, NPRegisterNotification +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPRegisterNotifications(HANDLE hNPMsgQ, PCSTR pPublisherName, UI_32 numNotifications, + NotificationInfo *pNotificationArray); + + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPRegisterImmediateNotifications +/// \~english @par Brief +/// API to send message to Notification Service to register a set of immediate notifications +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of Publisher message queue. +/// \~english @param[in] numNotifications +/// PCSTR - Name of Notification. +/// \~english @param[in] pNotificationArray +/// ImmediateNotificationInfo - Array of immediate notifications +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(numNotifications). +/// - It is an incorrect value(pNotificationArray) or pNotificationArray is NULL. +/// \~english @par Detail +/// Invoke callback function with arguments to register a set of immediate notification.\n +/// If callback function is null and expectedCalls is '0', using default function +/// 'NPRegisterImmediateNotifications' to register a set\n +/// of immediate notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPRegisterImmediatePersistNotification +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPRegisterImmediateNotifications(HANDLE hNPMsgQ, PCSTR pPublisherName, UI_32 numNotifications, + ImmediateNotificationInfo *pNotificationArray); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPRegisterNotification +/// \~english @par Brief +/// API to send message to Notification Service to register a notification +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of Publisher message queue +/// \~english @param[in] notif_name +/// PCSTR - Name of Notification +/// \~english @param[in] max_length +/// const UI_32 - Max size of the notification message +/// \~english @param[in] perstype +/// const EFrameworkunifiedPersistentVarType - Flag to indicate if it has to be persistent +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(notif_name) or notif_name is NULL. +/// - It is an incorrect value(max_length). +/// \~english @par Detail +/// Invoke callback function with arguments to register a notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPRegisterNotification' to +/// register a notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// NPRegisterNotifications, FrameworkunifiedNPRegisterNotification +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPRegisterNotification(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR notif_name, + const UI_32 max_length, const EFrameworkunifiedNotificationType perstype); + + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPUnRegisterNotification +/// \~english @par Brief +/// API to send message to Notification Service to remove a notification +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of Publisher message queue +/// \~english @param[in] pNotification +/// PCSTR - Name of Notification +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pNotification) or pNotification is NULL. +/// \~english @par Detail +/// Invoke NPUnRegisterNotifications to remove one notification named 'pPublisherName'. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPUnRegisterNotification, NPUnRegisterNotifications +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPUnRegisterNotification(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSetPersistentNotfnType +/// \~english @par Brief +/// API to send message to Notification Service to set the persist category of notification. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Service Name +/// \~english @param[in] pNotification +/// PCSTR - Name of Notification +/// \~english @param[in] ePersistCategory +/// EFrameworkunifiedPersistCategory - Persistent category +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pNotification) or pNotification is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to set the persist category of +/// notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPSetPersistentNotfnType' to +/// send\n +/// message to Notification Service to set the persist category of notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSetPersistentNotfnType +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPSetPersistentNotfnType(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification, + EFrameworkunifiedPersistCategory ePersistCategory); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSetPersistNotfnDefaultValue +/// \~english @par Brief +/// API to send message to Notification Service to set default value of persistent category in notification. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Service Name +/// \~english @param[in] pNotification +/// PCSTR - Name of Notification +/// \~english @param[in] pData +/// PVOID - Data buffer +/// \~english @param[in] iLength +/// const UI_32 - Size of data buffer +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pNotification) or pNotification is NULL. +/// - It is an incorrect value(pData) or pData is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to set default value of persistent category +/// in notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPSetPersistNotfnDefaultValue' +/// to send message\n +/// to Notification Service to set default value of persistent category in notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSetPersistNotfnDefaultValue +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPSetPersistNotfnDefaultValue(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification, + PCVOID pData, const UI_32 iLength); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPUnRegisterNotifications +/// \~english @par Brief +/// API to send message to Notification Service to remove a set of notification +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of Publisher message queue +/// \~english @param[in] numNotifications +/// UI_32 - Number of Notification +/// \~english @param[in] pNotificationArray +/// NotificationInfo - Array of notifications +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(numNotifications). +/// - It is an incorrect value(pNotificationArray) or pNotificationArray is NULL. +/// - Allocate memory for deal with original notification array failed. +/// \~english @par Detail +/// Copy original notification array to temp allocated memory and then remove the given notifications from the +/// memory. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPUnRegisterNotifications +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPUnRegisterNotifications(HANDLE hNPMsgQ, PCSTR pPublisherName, UI_32 numNotifications, + NotificationInfo *pNotificationArray); + +//////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPPublishNotification +/// \~english @par Brief +/// API to send message to Notification Service to notify subscribers +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of Publisher message queue +/// \~english @param[in] pNotification +/// PCSTR - Name of Notification +/// \~english @param[in] pData +/// PVOID - Data buffer +/// \~english @param[in] iLength +/// const UI_32 - Size of data buffer +/// \~english @retval eFrameworkunifiedStatusOK +/// \~english @retval eFrameworkunifiedStatusInvldParam +/// \~english @retval eFrameworkunifiedStatusMsgQFull +/// \~english @retval eFrameworkunifiedStatusErrNoEBAD +/// \~english @retval eFrameworkunifiedStatusErrNoEINTR +/// \~english @retval eFrameworkunifiedStatusInvldBufSize +/// \~english @retval eFrameworkunifiedStatusFail +/// \~english @retval eFrameworkunifiedStatusErrOther +/// \~english @par Preconditons +/// - none +/// \~english @par Change of internal status +/// - none +/// \~english @par Conditions of processing failure +/// - queue handle(hNPMsgQ,designated by parameter)is NULL[eFrameworkunifiedStatusInvldParam] +/// - pubulisher name(pPublisherName,designated by parameter)is NULL[eFrameworkunifiedStatusInvldParam] +/// - Notification name(pNotification)is NULL[eFrameworkunifiedStatusInvldParam] +/// - pubulisher name(pPublisherName,designated by parameter)is nullbuffer[eFrameworkunifiedStatusInvldParam] +/// - Notification name(pNotification,designated by parameter)is nullbuffer[eFrameworkunifiedStatusInvldParam] +/// - message queue is full [eFrameworkunifiedStatusMsgQFull] +/// - wrong file discriptor for message sending [eFrameworkunifiedStatusErrNoEBAD] +/// - system call disruput during message sending process[eFrameworkunifiedStatusErrNoEINTR] +/// - wrong buffer size for sending message[eFrameworkunifiedStatusInvldBufSize] +/// - message sending failed[eFrameworkunifiedStatusFail] +/// - failed access to shared memmory for message sending[eFrameworkunifiedStatusErrOther] +/// \~english @par Detail +/// send system info as Notification name and command[NPS_PUBLISH_EV_REQ] through McSendWithSysInfo() +/// NPP service wii process according to command[NPS_PUBLISH_EV_REQ]when get the message above +/// \~english @par Classification +/// - pubulic +/// \~english @par Type +/// Pub-Sub +/// \~english @see McSendWithSysInfo +//////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPPublishNotification(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pNotification, + PCVOID pData, const UI_32 iLength); + + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSubscribeToNotification +/// \~english @par Brief +/// API to send message to Notification Service to add to subscription list for. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pSubscriberName +/// PCSTR - Name of subscriber message queue +/// \~english @param[in] notif_name +/// PCSTR - Name of Notification +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// - It is an incorrect value(notif_name) or notif_name is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to add to subscription list for given +/// notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPSubscribeToNotification' to +/// Notification Service to add to subscription list for given notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSubscribeToNotification +////////////////////////////////////////////////////////////////////////////////////////////// +EFrameworkunifiedStatus NPSubscribeToNotification(HANDLE hNPMsgQ, PCSTR pSubscriberName, PCSTR notif_name); + + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSubscribeToNotifications +/// \~english @par Brief +/// API to send message to Notification Service to add multiple subscriptions for a set of notification. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pSubscriberName +/// PCSTR - Name of subscriber message queue +/// \~english @param[in] numNotifications +/// UI_32 - Number of Notifications +/// \~english @param[in] pSubscribeInfoArray +/// SubscribeInfo* - Array of SubscribeInfo +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// - It is an incorrect value(numNotifications). +/// - It is an incorrect value(pSubscribeInfoArray) or pSubscribeInfoArray is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to add multiple subscriptions for a set of +/// notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPSubscribeToNotifications' to +/// Notification Service to add multiple subscriptions for a set of notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSubscribeToNotifications +EFrameworkunifiedStatus NPSubscribeToNotifications(HANDLE hNPMsgQ, PCSTR pSubscriberName, UI_32 numNotifications, + SubscribeInfo *pSubscribeInfoArray); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPUnsubscribeFromNotification +/// \~english @par Brief +/// API to send message to Notification Service to remove from subscription list for given notification. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pSubscriberName +/// PCSTR - Name of subscriber message queue +/// \~english @param[in] pNotification +/// PCSTR - Name of Notification +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// - It is an incorrect value(pNotification) or pNotification is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to remove from subscription list for given +/// notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPUnsubscribeFromNotification' +/// to send message to Notification Service to remove from subscription list for given notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPUnsubscribeFromNotification +EFrameworkunifiedStatus NPUnsubscribeFromNotification(HANDLE hNPMsgQ, PCSTR pSubscriberName, PCSTR pNotification); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPUnsubscribeFromNotifications +/// \~english @par Brief +/// API to send message to Notification Service to unsubscribe multiple subscriptions for a set of notification. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pSubscriberName +/// PCSTR - Name of subscriber message queue +/// \~english @param[in] numNotifications +/// UI_32 - Number of Notifications +/// \~english @param[in] pUnSubscribeInfoArray +/// SubscribeInfo - Array of notifications +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// - It is an incorrect value(numNotifications). +/// - It is an incorrect value(pUnSubscribeInfoArray) or pUnSubscribeInfoArray is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to unsubscribe multiple subscriptions for a +/// set of notification.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPUnsubscribeFromNotifications' +/// to send message to Notification Service to unsubscribe multiple subscriptions for a set of notification. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPUnsubscribeFromNotifications +EFrameworkunifiedStatus NPUnsubscribeFromNotifications(HANDLE hNPMsgQ, PCSTR pUnSubscriberName, UI_32 numNotifications, + SubscribeInfo *pUnSubscribeInfoArray); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPReadPersistedData +/// \~english @par Brief +/// API to requested the persistent data corresponding to the notification if available. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue +/// \~english @param[in] notification +/// PCSTR - Name of Notification +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// - It is an incorrect value(notification) or notification is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to requested the persistent data corresponding to the notification if +/// available.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPReadPersistedData' to +/// requested the persistent data corresponding to the notification if available. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPReadPersistedData +EFrameworkunifiedStatus NPReadPersistedData(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR notification); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSavePersistentData +/// \~english @par Brief +/// API to send message to Notification Service to save all persisted data that in Ram to the file system via a +/// file write. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to save all persisted data.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPSavePersistentData' to send +/// message to Notification Service to save all persisted data. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSavePersistentData +EFrameworkunifiedStatus NPSavePersistentData(HANDLE hNPMsgQ, PCSTR pPublisherName); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPRegisterPersistentFile +/// \~english @par Brief +/// API to send message to Notification Service to add a file path as to be persisted. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pTag +/// PCSTR - A unique identifier for the file path specified, this is used in retrieve/Load the file later. +/// \~english @param[in] bIsUserFile +/// BOOL - Set TRUE, if registering user file. +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to add a file path as to be persisted.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPRegisterPersistentFile' to +/// send message to Notification Service to add a file path as to be persisted. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPRegisterPersistentFile +EFrameworkunifiedStatus NPRegisterPersistentFile(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pTag, BOOL bIsUserFile); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSetFilePersistentType +/// \~english @par Brief +/// API to send message to Notification Service to add a file path as to be persisted. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pTag +/// PCSTR - A unique identifier for the file path specified, this is used in retrieve/Load the file later. +/// \~english @param[in] ePersistCategory +/// EFrameworkunifiedPersistCategory - persist category +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pSubscriberName) or pSubscriberName is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to add a file path as to be persisted. \n +/// If callback function is null and expectedCalls is '0', using default function 'NPSetFilePersistentType' to +/// send message to Notification Service to add a file path as to be persisted. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSetFilePersistentType +EFrameworkunifiedStatus NPSetFilePersistentType(HANDLE hNPMsgQ, PCSTR pPublisherName, + PCSTR pTag, EFrameworkunifiedPersistCategory ePersistCategory); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPLoadPersistentFile +/// \~english @par Brief +/// API to send message to Notification Service to copy file from persistent memory to +/// specified path. The caller recieves an acknowledgement once NPS completes file copy +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pDstFilePath +/// PCSTR - Complete file path to which the file should be copied from persistent area. +/// \~english @param[in] pTag +/// PCSTR - Tag associated with the file that needs to be copied to pDstFilePath. +/// \~english @param[in] hUser +/// HANDLE - Load the file for the specified user. +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pDstFilePath) or pDstFilePath is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// - It is an incorrect value(hUser) or hUser is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to copy file from persistent memory to +/// specified path. \n +/// If callback function is null and expectedCalls is '0', using default function 'NPLoadPersistentFile' to send +/// message to Notification Service to copy file from persistent memory to specified path. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPLoadPersistentFile +EFrameworkunifiedStatus NPLoadPersistentFile(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pDstFilePath, + PCSTR pTag, HANDLE hUser); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPReleasePersistentFile +/// \~english @par Brief +/// API to send message to Notification Service to notify that the file can be persisted. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] eReleaseType +/// EFrameworkunifiedReleaseType - eFrameworkunifiedNotOnRelease:not on release +/// eFrameworkunifiedPersistOnShutdown:persist on shutdown +/// eFrameworkunifiedPersistInstantly:persist instantly +/// \~english @param[in] pTag +/// PCSTR - Tag associated with the file released +/// \~english @param[in] pFullFilePath +/// PCSTR - Full path name of the file to be persisted +/// \~english @param[in] hUser +/// HANDLE - Release the file for the specified user. +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pDstFilePath) or pDstFilePath is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// - It is an incorrect value(pFullFilePath) or pFullFilePath is NULL. +/// - It is an incorrect value(hUser) or hUser is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to notify that the file can be persisted. \n +/// If callback function is null and expectedCalls is '0', using default function 'NPReleasePersistentFile' to +/// send message to Notification Service to notify that the file can be persisted. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPReleasePersistentFile +EFrameworkunifiedStatus NPReleasePersistentFile(HANDLE hNPMsgQ, PCSTR pPublisherName, EFrameworkunifiedReleaseType eReleaseType, PCSTR pTag, + PCSTR pFullFilePath, HANDLE hUser); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPPersistentSync +/// \~english @par Brief +/// API to synchronizes by NPPService. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] eReleaseType +/// EFrameworkunifiedReleaseType - eFrameworkunifiedNotOnRelease:not on release +/// eFrameworkunifiedPersistOnShutdown:persist on shutdown +/// eFrameworkunifiedPersistInstantly:persist instantly +/// \~english @param[in] SrcName +/// PCSTR - source service name. +/// \~english @param[in] sessionid +/// UI_32 - session ID +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(SrcName) or SrcName is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(sessionid). +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// \~english @par Detail +/// Invoke callback function to synchronizes by NPPService. \n +/// If callback function is null and expectedCalls is '0', using default function 'NPPersistentSync' to +/// synchronizes by NPPService. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPPersistentSync +EFrameworkunifiedStatus NPPersistentSync(PCSTR SrcName, HANDLE hNPMsgQ, UI_32 sessionid, PCSTR pPublisherName); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSetPersonality +/// \~english @par Brief +/// API to send message to Notification Service to set the Personality. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pUserName +/// PCSTR - Name of new Personality +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pUserName) or pUserName is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to set the Personality. \n +/// If callback function is null and expectedCalls is '0', using default function 'NPSetPersonality' to send +/// message to Notification Service to set the Personality. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSetPersonality +EFrameworkunifiedStatus NPSetPersonality(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pUserName); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPChangePersonality +/// \~english @par Brief +/// API to send message to Notification Service to change the current Personality. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pUserName +/// PCSTR - Name of new Personality +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pUserName) or pUserName is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to change the current Personality. \n +/// If callback function is null and expectedCalls is '0', using default function 'NPChangePersonality' to send +/// message to Notification Service to change the current Personality. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPChangePersonality +EFrameworkunifiedStatus NPChangePersonality(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pUserName); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPGetReadyStatusOfNPP +/// \~english @par Brief +/// To be used by System Manager Service only. SystemManager will use this API to get the ready status of +/// NPPService. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pRequesterName +/// PCSTR - Name of the requesters message queue. +/// \~english @param[in] pUserName +/// PCSTR - Name of new Personality +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pRequesterName) or pRequesterName is NULL. +/// - It is an incorrect value(pUserName) or pUserName is NULL. +/// \~english @par Detail +/// Invoke callback function to get the ready status of NPPService. \n +/// If callback function is null and expectedCalls is '0', using default function 'NPGetReadyStatusOfNPP' to get +/// the ready status of NPPService. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPGetReadyStatusOfNPP +EFrameworkunifiedStatus NPGetReadyStatusOfNPP(HANDLE hNPMsgQ, PCSTR pRequesterName); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPClearPersistedData +/// \~english @par Brief +/// API to delete the persisted data of NS_NPS. +/// Note: Currently to be used by HMI service only +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pRequesterName +/// PCSTR - Name of the requesters message queue. +/// \~english @param[in] eFrameworkunifiedClearPersistenceScope +/// EFrameworkunifiedClearPersistence - specifies what data to delete from persistent memory. +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pRequesterName) or pRequesterName is NULL. +/// \~english @par Detail +/// Invoke callback function to delete the persisted data of NS_NPS.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPClearPersistedData' to delete +/// the persisted data of NS_NPS. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPClearPersistedData +EFrameworkunifiedStatus NPClearPersistedData(HANDLE hNPMsgQ, PCSTR pRequesterName, EFrameworkunifiedClearPersistence eFrameworkunifiedClearPersistenceScope); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPRegisterPersistentFolder +/// \~english @par Brief +/// API to send message to Notification Service to add a folder path as to be persisted. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pTag +/// PCSTR - A unique identifier for the folder path specified, this is used in retrieve/Load the folder later. +/// \~english @param[in] bIsUserFolder +/// BOOL - Set TRUE, if registering user folder. +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to add a folder path as to be persisted.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPRegisterPersistentFolder' to +/// send message to Notification Service to add a folder path as to be persisted. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPRegisterPersistentFolder +EFrameworkunifiedStatus NPRegisterPersistentFolder(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pTag, BOOL bIsUserFolder); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPSetFolderPersistentType +/// \~english @par Brief +/// API to send message to Notification Service to set the persist category of file. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pTag +/// PCSTR - A unique identifier for the file path specified, this is used in retrieve/Load the file later +/// \~english @param[in] ePersistCategory +/// EFrameworkunifiedPersistCategory - persist category +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to set the persist category of file.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPSetFolderPersistentType' to +/// send message to Notification Service to set the persist category of file. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPSetFolderPersistentType +EFrameworkunifiedStatus NPSetFolderPersistentType(HANDLE hNPMsgQ, PCSTR pPublisherName, + PCSTR pTag, EFrameworkunifiedPersistCategory ePersistCategory); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPLoadPersistentFolder +/// \~english @par Brief +/// API to send message to Notification Service to copy folder from persistent memory to +/// specified path. The caller recieves an acknowledgement once NPS completes folder copy. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to message queue of Notification service. +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] pDstFolderPath +/// PCSTR - Complete folder path to which the folder should be copied from persistent area +/// \~english @param[in] pTag +/// PCSTR - Tag associated with the folder that needs to be copied to pDstFolderPath +/// \~english @param[in] hUser +/// HANDLE - Name of new Personality +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pDstFolderPath) or pDstFolderPath is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// - It is an incorrect value(hUser) or hUser is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to copy folder from persistent memory to +/// specified path.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPLoadPersistentFolder' to send +/// message to Notification Service to copy folder from persistent memory to specified path. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPLoadPersistentFolder +EFrameworkunifiedStatus NPLoadPersistentFolder(HANDLE hNPMsgQ, PCSTR pPublisherName, PCSTR pDstFolderPath, + PCSTR pTag, HANDLE hUser); + +////////////////////////////////////////////////////////////////////////////////////////////// +/// \ingroup NPReleasePersistentFolder +/// \~english @par Brief +/// API to send message to Notification Service to notify that the folder can be persisted. +/// \~english @param[in] hNPMsgQ +/// HANDLE - Handle to the Framework +/// \~english @param[in] pPublisherName +/// PCSTR - Name of publisher message queue. +/// \~english @param[in] eFrameworkunifiedReleaseType +/// EFrameworkunifiedReleaseType - eFrameworkunifiedNotOnRelease :not on release +/// eFrameworkunifiedPersistOnShutdown:persist on shutdown +/// eFrameworkunifiedPersistInstantly :persist instantly +/// \~english @param[in] pTag +/// PCSTR - Tag associated with the folder released +/// \~english @param[in] pFullFolderPath +/// PCSTR - Full path name of the folder to be persisted +/// \~english @param[in] hUser +/// HANDLE - Name of new Personality +/// \~english @retval EFrameworkunifiedStatus indicates success or error +/// \~english @retval Success(eFrameworkunifiedStatusOK) +/// \~english @retval Error(anything else) +/// \~english @par +/// EFrameworkunifiedStatus Enum +/// \~english @code +/// typedef enum eFrameworkunifiedStatus { +/// eFrameworkunifiedStatusEmptyMediaList = -10, ///< Empty media list +/// eFrameworkunifiedStatusSessionLimitMaxedOut = -9, ///< Maximum session limit reached +/// eFrameworkunifiedStatusDbRecNotFound = -8, ///< Database record not found +/// eFrameworkunifiedStatusDbResultError = -7, ///< Database result error +/// eFrameworkunifiedStatusDbExecuteFail = -6, ///< Database execute fail +/// eFrameworkunifiedStatusSemCloseFail = -5, ///< Semaphore close failed +/// eFrameworkunifiedStatusSemUnlockFail = -4, ///< Semaphore unlock failed +/// eFrameworkunifiedStatusSemLockFail = -3, ///< Semaphore lock failed +/// eFrameworkunifiedStatusFail = -2, ///< Failed +/// eFrameworkunifiedStatusErrOther = -1, ///< Unknown error +/// eFrameworkunifiedStatusOK = 0, ///< Success / Pass / OK +/// eFrameworkunifiedStatusInvldBuf = 1, ///< Invalid buffer +/// eFrameworkunifiedStatusInvldHandle = 2, ///< Invalid handle +/// eFrameworkunifiedStatusInvldHndlType = 3, ///< Invalid handle type +/// eFrameworkunifiedStatusInvldQName = 4, ///< Invalid messasge queue name +/// eFrameworkunifiedStatusMsgQFull = 5, ///< Message queue full +/// eFrameworkunifiedStatusInvldNotification = 6,///< The Notification event not present +/// eFrameworkunifiedStatusInvldParam = 7, ///< Invalid parameter +/// eFrameworkunifiedStatusInvldBufSize = 8, ///< Buf size too small +/// eFrameworkunifiedStatusInvldID = 9, ///< Unrecognized ID +/// eFrameworkunifiedStatusCannotRelease = 10, ///< Cannot release resource +/// eFrameworkunifiedStatusBadConnection = 11, ///< Could not locate resource +/// eFrameworkunifiedStatusExit = 12, ///< Normal application termination +/// eFrameworkunifiedStatusNotImplemented = 13, ///< incomplete feature +/// eFrameworkunifiedStatusThreadBusy = 14, ///< Joined thread is already being joined +/// eFrameworkunifiedStatusThreadSelfJoin = 15, ///< Thread is joining itself +/// eFrameworkunifiedStatusThreadInvalidVal = 16, ///< Invalid value passed +/// eFrameworkunifiedStatusThreadNotExist = 17, ///< The thread does not exist +/// eFrameworkunifiedStatusFault = 18, ///< A fault occurred while attempting to make call +/// eFrameworkunifiedStatusServNotFound = 19, ///< Service not present in serv dir +/// eFrameworkunifiedStatusServerInUse = 20, ///< Service already processing 1 client request +/// eFrameworkunifiedStatusDbIndexing = 21, ///< Database Indexing in progress +/// eFrameworkunifiedStatusNullPointer = 22, +/// eFrameworkunifiedStatusMsgNotProcessed = 23, +/// eFrameworkunifiedStatusFileLoadSuccess = 24, ///< File Load Success +/// eFrameworkunifiedStatusFileLoadError = 25, ///< File Load Error +/// eFrameworkunifiedStatusAccessError = 26, ///< Error when accessing resource +/// eFrameworkunifiedStatusDuplicate = 27, ///< Duplicate entry +/// eFrameworkunifiedStatusMsgQEmpty = 28, ///< Message queue empty +/// eFrameworkunifiedStatusThreadAlreadyRunning = 29, +/// eFrameworkunifiedStatusErrNoEBADF = 30, ///< Bad file descriptor +/// eFrameworkunifiedStatusErrNoEAGAIN = 31, ///< Resource unavailable, try again +/// eFrameworkunifiedStatusErrNoEINTR = 32, ///< Interrupted system call +/// eFrameworkunifiedStatusSessionErr = 33, ///< Error in session handling +/// eFrameworkunifiedStatusDBCorrupt = 34, ///< Database corrupt +/// eFrameworkunifiedStatusDBFileNotFound = 35 ///< Database file not found +/// } EFrameworkunifiedStatus, *PEFrameworkunifiedStatus; +/// @endcode +/// \~english @par Preconditons +/// none +/// \~english @par Change of internal status +/// - The internal state is not changed. +/// \~english @par Conditions of processing failure +/// - Function pointer specified by the argument is NULL. +/// - It is an incorrect value(hNPMsgQ) or hNPMsgQ is NULL. +/// - It is an incorrect value(pPublisherName) or pPublisherName is NULL. +/// - It is an incorrect value(pDstFolderPath) or pDstFolderPath is NULL. +/// - It is an incorrect value(pTag) or pTag is NULL. +/// - It is an incorrect value(hUser) or hUser is NULL. +/// \~english @par Detail +/// Invoke callback function to send message to Notification Service to notify that the folder can be persisted.\n +/// If callback function is null and expectedCalls is '0', using default function 'NPReleasePersistentFolder' to +/// send message to Notification Service to notify that the folder can be persisted. +/// \~english @par Classification +/// Public +/// \~english @par Type +/// Sync only +/// \~english @see +/// FrameworkunifiedNPReleasePersistentFolder +EFrameworkunifiedStatus NPReleasePersistentFolder(HANDLE hNPMsgQ, PCSTR pPublisherName, EFrameworkunifiedReleaseType eFrameworkunifiedReleaseType, PCSTR pTag, + PCSTR pFullFolderPath, HANDLE hUser); + +#ifdef __cplusplus +} +#endif + +#endif /* __NATIVESERVICES_NP_SERVICE_IF_H__ */ // NOLINT (build/header_guard) +/** @}*/ // end of notification_persistent_service +/** @}*/ // end of native_service +/** @}*/ // end of BaseSystem +// EOF -- cgit 1.2.3-korg