diff options
Diffstat (limited to 'video_in_hal/nsframework/notification_persistent_service/server/include/ns_npp_notification_manager.h')
-rwxr-xr-x | video_in_hal/nsframework/notification_persistent_service/server/include/ns_npp_notification_manager.h | 496 |
1 files changed, 0 insertions, 496 deletions
diff --git a/video_in_hal/nsframework/notification_persistent_service/server/include/ns_npp_notification_manager.h b/video_in_hal/nsframework/notification_persistent_service/server/include/ns_npp_notification_manager.h deleted file mode 100755 index e730d02..0000000 --- a/video_in_hal/nsframework/notification_persistent_service/server/include/ns_npp_notification_manager.h +++ /dev/null @@ -1,496 +0,0 @@ -/* - * @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. - */ - -//////////////////////////////////////////////////////////////////////////////////////////////////// -/// \defgroup <<Group Tag>> <<Group Name>> -/// \ingroup tag_NS_NPPService -/// . -//////////////////////////////////////////////////////////////////////////////////////////////////// - -//////////////////////////////////////////////////////////////////////////////////////////////////// -/// \ingroup tag_NS_NPPService -/// \brief This file contains declaration of singleton class CNotificationManager which is used -/// to manage notification information. -/// -//////////////////////////////////////////////////////////////////////////////////////////////////// -#ifndef NOTIFICATION_PERSISTENT_SERVICE_SERVER_INCLUDE_NS_NPP_NOTIFICATION_MANAGER_H_ -#define NOTIFICATION_PERSISTENT_SERVICE_SERVER_INCLUDE_NS_NPP_NOTIFICATION_MANAGER_H_ - -//////////////////////////////////////////////////////////////////////////////////////////////////// -// Include Files -//////////////////////////////////////////////////////////////////////////////////////////////////// -#include <native_service/frameworkunified_types.h> -#include <native_service/ns_np_service.h> - -#include <map> -#include <vector> -#include <string> -#include <iostream> - -/// forward declaration of class -class CNotification; -class CPersistentData; -class CNotificationsToPersist; -class CStateNotification; - -/// map of all the available notification. -typedef std::map<std::string, CNotification *> Notification_Type; - -/// iterator for map of notifications. -typedef Notification_Type::iterator Notification_Iterator_Type; - -/// map of all available persistent notification and its data. -typedef std::map<std::string, CPersistentData *> Persistent_Type; - -/// Iterator for map of persistent notifications. -typedef Persistent_Type::iterator Persistent_Iterator_Type; - -/** - * This class is used to manage the operations related to notification - * on registration, subscription, publication, etc. - */ -class CNotificationManager { - public: - //////////////////////////////////////////////////////////////////////////////////////////////// - /// CNotificationManager - /// Constructor of CNotificationManager class - /// - /// \param - /// - /// \return - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - CNotificationManager(); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// ~CNotificationManager - /// Destructor of CNotificationManager class - /// - /// \param - /// - /// \return - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - ~CNotificationManager(); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceServiceOnRegisterEvents - /// This function creates notification object depending on its type and if already created it - /// adds the service name to the list in the notification object. - /// - /// \param [IN] f_cservicename - /// std::string - name of service registering for notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \param [IN] f_uimsglength - /// UI_32 - Maximum length of Message - /// - /// \param [IN] f_enotificationtype - /// EFrameworkunifiedPersistentVarType - type of notification - /// - /// \param [IN] f_uidelay - /// UI_32 - Delay time for persistence - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceServiceOnRegisterEvents(const std::string &f_cservicename, - const std::string &f_cnotificationname, - const UI_32 f_uimsglength, - const EFrameworkunifiedNotificationType f_enotificationtype, - const UI_32 f_uidelay = 0); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceServiceOnUnRegisterEvents - /// This function removes the name of the service from the notification object. - /// - /// \param [IN] f_cservicename - /// std::string - name of service unregistering from notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceServiceOnUnRegisterEvents(const std::string &f_cservicename, - const std::string &f_cnotificationname); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceServiceOnPublishEvent - /// This function stores the published data in the notification object in case of state and - /// persistent notification. - /// - /// \param [IN] f_cservicename - /// std::string - name of service registering for notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \param [IN] f_pmessage - /// PVOID - pointer to message - /// - /// \param f_uimsgsize - /// UI_32 - size of Message - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceServiceOnPublishEvent(const std::string &f_cservicename, - const std::string &f_cnotificationname, - PVOID f_pmessage, - const UI_32 f_uimsgsize); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceServiceOnSubscribeToEvent - /// This function adds the name of the application to subscribers list in notification object. - /// - /// \param [IN] f_csubscribername - /// std::string - name of application subscribing to notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceServiceOnSubscribeToEvent(const std::string &f_csubscribername, - const std::string &f_cnotificationname); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceServiceOnUnSubscribeFromEvent - /// This function adds the name of the application to subscribers list in notification object. - /// - /// \param [IN] f_csubscribername - /// std::string - name of application subscribing to notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceServiceOnUnSubscribeFromEvent(const std::string &f_csubscribername, - const std::string &f_cnotificationname); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NPGetPersistentNotificationData - /// Get data for notification name - /// - /// \param [IN] f_cnotificationname - /// std::string - name of notification - /// \param [OUT] f_pnotificationdata - /// PVOID - data corresponding to notification name - /// \param [IN] f_uidatasize - /// UI_32 - size of data - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NPGetPersistentNotificationData(const std::string &f_cnotificationname, - PVOID f_pnotificationdata, const UI_32 f_uidatasize); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceServiceOnGetPersistentData - /// This function is used to get the persistent data stored related to notification. - /// - /// \param [IN] f_cnotificationname - /// std::string - Notification Name - /// - /// \param [IN] f_creceivername - /// std::string - Source Name - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceServiceOnGetPersistentData(const std::string &f_cnotificationname, - const std::string &f_creceivername); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceGetPersistentNotificationData - /// This function is used to get the list of persistent notifications and the data associated - /// with it. - /// - /// \param [OUT] f_pvpersistnotification - /// CNotificationsToPersist - vector containing list of persistent notifications and - /// data associated with it. - /// - /// \param [IN] f_enotificationtype - /// EFrameworkunifiedNotificationType - Type of notification - /// - /// \param [IN] f_uinotificationpersistentservicepersistcategoryflag - /// UI_32 - Hex value from enum EFrameworkunifiedPersistCategory, representing data to persist - /// 0 - persist orignal data and - /// 1 - persist default data - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceGetPersistentNotificationData(std::vector<CNotificationsToPersist *> *f_pvpersistnotification, - const EFrameworkunifiedNotificationType f_enotificationtype, - UI_32 f_uinotificationpersistentservicepersistcategoryflag); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceSetPersistentNotificationData - /// This function is used to create the persistent notifications object and fill the data - /// related with it on system load. - /// - /// \param [IN] f_pvpersistnotification - /// vector<CNotificationsToPersist> - vector containing list of notifications and data associated with it - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceSetPersistentNotificationData(std::vector<CNotificationsToPersist *> *f_pvpersistnotification); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// GetNotificationInfo - /// This function is used to get the notification information. - /// - /// \param [IN] f_cnotificationname - /// std::string - Notification Name - /// - /// \param [IN] l_pnotificationstopersist - /// CNotificationsToPersist - Notification info structure - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus GetNotificationInfo(const std::string &f_cnotificationname, - CNotificationsToPersist *&l_pnotificationstopersist); // NOLINT (runtime/references) - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceSetDefaultPersistentNotificationData - /// This function is used to set the default data of persistent notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// \param [IN] f_pmessage - /// PVOID - message data - /// \param [IN] f_uimsgsize - /// UI_32 - message size - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceSetDefaultPersistentNotificationData(const std::string &f_cnotificationname, - PVOID f_pmessage, - const UI_32 f_uimsgsize); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentserviceSetPersistentCategory - /// This function is used to set the persistent type of persistent notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// \param [IN] f_epersistenttype - /// EFrameworkunifiedPersistCategory - persistent category - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentserviceSetPersistentCategory(const std::string &f_cnotificationname, - const EFrameworkunifiedPersistCategory f_epersistcategory); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// NotificationpersistentservicePublishImmediateNotification - /// This function publish the immediate notification f_cnotificationname to all its subscribers. - /// This API is called when service updates the immediate notification data in persistent memory - /// using synchronous API. - /// - /// \param [IN] f_cservicename - /// const std::string& - name of service registering for notification - /// - /// \param [IN] f_cnotificationname - /// const std::string& - notification name - /// - /// \param [IN] f_pmessage - /// PVOID - pointer to message - /// - /// \param f_uimsgsize - /// UI_32 - size of Message - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - eFrameworkunifiedStatusOK on success - /// eFrameworkunifiedStatusInvldParam - invalid parameter - /// eFrameworkunifiedStatusNullPointer - if notification not found - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus NotificationpersistentservicePublishImmediateNotification(const std::string &f_cservicename, - const std::string &f_cnotificationname, - PVOID f_pmessage, - const UI_32 f_uimsgsize); - -#ifdef NPP_PROFILEINFO_ENABLE - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// GetNotificationProfilingData - /// This function is used to get the notification profiling information. - /// - /// \param [OUT] f_tNotificationProfileInfo - /// std::string - all the notification info of all applications concated in a string - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus GetNotificationProfilingData(std::string &f_cnotificationprofileInfo); // NOLINT (runtime/references) - -#endif - - private: - Notification_Type *m_pmNotificationList; /// < map containing list of all notifications. - - std::vector<std::string> *m_pvPersistentList; /// < vector containing list of all persistent notifications. - - std::vector<std::string> *m_pvUserPersistentList; /// < vector containing list of all user persistent notifications. - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// CreateNotificationObject - /// This function is used to get notification object from map if it exists else create new - /// object as per type of notification. - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \param [IN] f_uimsglength - /// UI_32 - Maximum size of notification message - /// - /// \param [IN] f_enotificationtype - /// EFrameworkunifiedPersistentVarType - Delay time for persistence - /// - /// \param [IN] f_uidelay - /// UI_32 - Persistence Delay - /// - /// \return CNotification - // CNotification - pointer of notification object - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - CNotification *CreateNotificationObject(const std::string &f_cnotificationname, - const UI_32 f_uimsglength, - const EFrameworkunifiedNotificationType f_enotificationtype, - const UI_32 f_uidelay = 0); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// SearchNotification - /// This function is used to search whether notification object is present in map or not. - /// If present it sends the reference. CNotification - reference to pointer of notification object - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \return CNotification - // CNotification - pointer of notification object - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - CNotification *SearchNotification(const std::string &f_cnotificationname); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// SearchPersistenceNotification - /// This function is used to search whether the given persistent notification object - /// is present in map or not. - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \return CStateNotification - // CStateNotification - pointer of notification object - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - CStateNotification *SearchPersistenceNotification(const std::string &f_cnotificationname); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// CreateNotificationObjectToPersist - /// Creates the CNotificationsToPersist object from notification object and the persistent data. - /// - /// \param [IN] f_pnotification - /// CStateNotification - notification object ptr - /// \param [IN] f_pdata - /// CPersistentData - persistent data - /// - /// \return CNotification - // CNotification - pointer of notification object - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - CNotificationsToPersist *CreateNotificationObjectToPersist(CStateNotification *f_pnotification, - const CPersistentData *f_pdata); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// RemoveUserSpecificNotificationEntry - /// This function is used to get the singleton instance of class. - /// - /// \param - /// - /// \return EFrameworkunifiedStatus - /// EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus RemoveUserSpecificNotificationEntry(); - - //////////////////////////////////////////////////////////////////////////////////////////////// - /// ChangeNotificationType - /// This function creates new notification object depending on the type and replaces the old one. - /// The subscribers list is copied from the old notification object is copied to the new one. - /// - /// \param [IN] f_pnotification - /// CNotification* - old notification object - /// - /// \param [IN] f_cservicename - /// std::string - name of service registering for notification - /// - /// \param [IN] f_cnotificationname - /// std::string - notification name - /// - /// \param [IN] f_uimsglength - /// UI_32 - Maximum length of Message - /// - /// \param [IN] f_enotificationtype - /// EFrameworkunifiedPersistentVarType - new type of notification - /// - /// \param [IN] f_uidelay - /// UI_32 - Delay time for persistence - /// - /// \return EFrameworkunifiedStatus - // EFrameworkunifiedStatus - success or failure status - /// - //////////////////////////////////////////////////////////////////////////////////////////////// - EFrameworkunifiedStatus ChangeNotificationType(CNotification *f_pnotification, - const std::string &f_cservicename, - const std::string &f_cnotificationname, - const UI_32 f_uimsglength, - const EFrameworkunifiedNotificationType f_enotificationtype, - const UI_32 f_uidelay); -}; - -#endif // NOTIFICATION_PERSISTENT_SERVICE_SERVER_INCLUDE_NS_NPP_NOTIFICATION_MANAGER_H_ |