2 * @copyright Copyright (c) 2016-2020 TOYOTA MOTOR CORPORATION.
4 * Licensed under the Apache License, Version 2.0 (the "License");
5 * you may not use this file except in compliance with the License.
6 * You may obtain a copy of the License at
8 * http://www.apache.org/licenses/LICENSE-2.0
10 * Unless required by applicable law or agreed to in writing, software
11 * distributed under the License is distributed on an "AS IS" BASIS,
12 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13 * See the License for the specific language governing permissions and
14 * limitations under the License.
17 ////////////////////////////////////////////////////////////////////////////////////////////////////
18 /// \defgroup <<Group Tag>> <<Group Name>>
19 /// \ingroup tag_NS_NPPService
21 ////////////////////////////////////////////////////////////////////////////////////////////////////
23 ////////////////////////////////////////////////////////////////////////////////////////////////////
24 /// \ingroup tag_NS_NPPService
25 /// \brief This file contains declaration of class CStatePersistenceNotification.
27 ////////////////////////////////////////////////////////////////////////////////////////////////////
29 #ifndef NOTIFICATION_PERSISTENT_SERVICE_SERVER_INCLUDE_NS_NPP_STATE_PERSISTENCE_NOTIFICATION_H_
30 #define NOTIFICATION_PERSISTENT_SERVICE_SERVER_INCLUDE_NS_NPP_STATE_PERSISTENCE_NOTIFICATION_H_
32 ////////////////////////////////////////////////////////////////////////////////////////////////////
34 ////////////////////////////////////////////////////////////////////////////////////////////////////
37 #include "ns_npp_state_notification.h"
40 * This class inherits CStateNotification class and implements specific operations related to
41 * persistent notifications.
43 class CStatePersistenceNotification : public CStateNotification {
45 ////////////////////////////////////////////////////////////////////////////////////////////////
46 /// CStatePersistenceNotification
47 /// Constructor of CStatePersistenceNotification class
49 /// \param [IN] f_cnotificationname
50 /// std::string - Notification name
52 /// \param [IN] f_uimaxmsgsize
53 /// UI_32 - Maximum size of notification data
55 /// \param [IN] f_epersistcategory
56 /// EFrameworkunifiedPersistCategory - persist category
60 ////////////////////////////////////////////////////////////////////////////////////////////////
61 CStatePersistenceNotification(const std::string &f_cnotificationname,
62 const UI_32 f_uimaxmsgsize,
63 const EFrameworkunifiedPersistCategory f_epersistcategory = eFrameworkunifiedUserData);
65 ////////////////////////////////////////////////////////////////////////////////////////////////
66 /// ~CStatePersistenceNotification
67 /// Destructor of CStatePersistenceNotification class
73 ////////////////////////////////////////////////////////////////////////////////////////////////
74 ~CStatePersistenceNotification();
76 ////////////////////////////////////////////////////////////////////////////////////////////////
77 /// GetPersistentCategory
78 /// Gets the persist type of notification
81 /// \return EFrameworkunifiedPersistCategory
82 // EFrameworkunifiedPersistCategory - persist type
84 ////////////////////////////////////////////////////////////////////////////////////////////////
85 EFrameworkunifiedPersistCategory GetPersistentCategory();
87 ////////////////////////////////////////////////////////////////////////////////////////////////
88 /// SetPersistentCategory
89 /// Sets the persist type of notification
91 /// \param [IN] f_epersistcategory
92 /// EFrameworkunifiedPersistCategory - persist category
94 /// \return EFrameworkunifiedStatus
95 // EFrameworkunifiedStatus - success or failure status
97 ////////////////////////////////////////////////////////////////////////////////////////////////
98 EFrameworkunifiedStatus SetPersistentCategory(const EFrameworkunifiedPersistCategory f_epersistcategory);
101 EFrameworkunifiedPersistCategory m_ePersistCategory; // Persistent category
104 #endif // NOTIFICATION_PERSISTENT_SERVICE_SERVER_INCLUDE_NS_NPP_STATE_PERSISTENCE_NOTIFICATION_H_