summaryrefslogtreecommitdiffstats
path: root/nsframework/framework_unified/client/include/native_service/ns_np_service_protocol.h
blob: 475950bb49ba7fa679a41f0e685efb58b41d250f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
/*
 * @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.
 */

//////////////////////////////////////////////////////////////////////////////////////////////////
/// \ingroup  tag_NPPService
/// \brief    API Header for Notification Service messages used by senders and recievers.
///
/// Declares the external Protocol messages to the Notification Service.
///
//////////////////////////////////////////////////////////////////////////////////////////////////
/**
 * @file ns_np_service_protocol.h
 */



/** @addtogroup BaseSystem
 *  @{
 */
/** @addtogroup native_service
 *  @ingroup BaseSystem
 *  @{
 */
/** @addtogroup notification_persistent_service
 *  @ingroup native_service
 *  @{
 */
#ifndef __NATIVESERVICES_NP_SERVICE_PROTOCOL_H__  // NOLINT  (build/header_guard)
#define __NATIVESERVICES_NP_SERVICE_PROTOCOL_H__

#include <native_service/frameworkunified_types.h>
#include <native_service/frameworkunified_service_protocol.h>

#ifdef __cplusplus
extern "C" {
#endif

/**
 * \~english  notification_persistent_service protocol msg name define
 */
typedef enum _NS_NPServiceProtocol {
  NPS_REGISTER_EV_REQ              = PROTOCOL_FRAMEWORKUNIFIED_BASE_CMD + 0,  /// <16+0 Request to register a Notification
  NPS_UNREGISTER_EV_REQ           ,  /// <1 Request to unregister a Notification
  NPS_PUBLISH_EV_REQ              ,  /// <2 Sender request to NP service to publish (send) a notification to subscribers
  NPS_NOTIFY_EV_REQ                 ,  /// <3 Message to subscribers that the notification was generated by publisher
  NPS_SUBSCRIBE_TO_EV_REQ           ,  /// <4 Request to subscribe to a notification
  NPS_UNSUBSCRIBE_FROM_EV_REQ       ,  /// <5 Request to unsubscribe from a notification
  NPS_SET_PERSIST_FILE_PATH_REQ     ,  /// <6 Request to add a path to the list of files to be persisted
  NPS_GET_PERS_DATA_REQ             ,  /// <7 Request to get persistent data for specified notification
  NPS_GET_PERS_DATA_ACK             ,  /// <8 MSG from NPS to requester of persistent data.
  NPS_GET_PERS_FILE_REQ             ,  /// <9 Request to get persistent File from specified path
  NPS_GET_PERS_FILE_ACK             ,  /// <10 MSG from NPS to inform that file was retrieved from persistent
                                       /// mem and copied.
  NPS_SAVE_PERS_DATA_REQ            ,  /// <11 Request to save the persistent data to what ever file that has
                                       /// been defined.
  NPS_SAVE_PERS_DATA_ACK            ,  /// <12 MSG from NPS to requester of Save Action.
  NPS_RELEASE_PERS_FILE_REQ         ,  /// <13 Request to NPS to persist file in persistent memory
  NPS_NPP_STOP_REQ                  ,  /// <14 MSG from system manager to NS_NPS to stop processing.
                                       /// NS_NPS goes to idle state.
  NPS_TST_WAKEUP                    ,  /// <15
  NPS_BATCH_SUBSCRIBE_TO_EV_REQ     ,  /// <16 Request to subscribe to a batch of notification(s)
  NPS_GET_PERS_DATA_FAILED_ACK      ,  /// <17 Failed to get persistent data
  NPS_SET_PERSONALITY_REQ           ,  /// <18 Request to change current user
  NPS_CHANGE_PERSONALITY_REQ        ,  /// <19 Request to change current user
  NPS_USER_CHANGE_REQ         ,  /// <20 MSG from NPS to frameworkunified applications.
  NPS_SET_PERSIST_FOLDER_PATH_REQ   ,  /// <21 Request to add a path to the folder to be persisted
  NPS_GET_PERS_FOLDER_REQ           ,  /// <22 Request to get persistent Folder from specified path
  NPS_RELEASE_PERS_FOLDER_REQ       ,  /// <23 Request to NPS to persist folder in persistent memory
  NPS_GET_PERS_FOLDER_ACK,  /// <24 Ack from NPS to requester to inform that folder was retrieved from persistent mem
                            /// and copied.
  NPS_NPP_STOP_ACK                ,  /// <25 Ack from NS_NPS to system manager on NPS_NPP_STOP_REQ request
  NPS_BATCH_UNSUBSCRIBE_FROM_EV_REQ ,  /// <26
  NPS_GET_READYSTATUS_REQ       ,  /// <27 Request from system manager to check the ready status of NPPService
  NPS_GET_READYSTATUS_ACK       ,  /// <28 Ack from NPPService to system manager, only if NPPService is in ready state
  NPS_REGISTER_NOR_EV_REQ         ,  /// <29 Request to register immediate notification
  NPS_DELETE_PERSISTED_DATA_REQ     ,  /// <30 Request to delete the persistent data.
  NPS_DELETE_PERSISTED_DATA_ACK     ,  /// <31 Ack of deleting the persistent data.
  NPS_SET_DEFAULT_PERS_DATA     ,  /// <32 Sets the default data for persistent notification.
  NPS_SET_NOTFN_PERSISTENT_TYPE   ,  /// <33 Sets the persistent type of notification.
  NPS_SET_FILE_PERSISTENT_TYPE      ,  /// <34 Sets the persistent type of file.
  NPS_SET_FOLDER_PERSISTENT_TYPE    ,  /// <35 Sets the persistent type of folder.
  NPS_SYNCHRONOUS_WRITE_NOTIFY_REQ  ,  /// <36 Updates the immediate notification data in NPPService,
                                      /// when written using synchronous API.
  NPS_IMMEDIATE_WRITE_ACK           ,  /// <37 Sends the ack to publisher of immediate notification after
                                       /// data is written to persistent memory.
  NPS_NPP_SYNC_REQ                   /// <38 Processing which synchronizes by NPPService (syncfs)
} NS_NPServiceProtocol;

/**
 * \~english  notification_persistent_service service event
 */
typedef enum _NS_NPServiceEvent {
  NPS_NPP_READY_EVENT = 0x100,
} NS_NPServiceEvent;

#ifdef __cplusplus
}
#endif
#endif /* __NATIVESERVICES_NP_SERVICE_PROTOCOL_H__ */  // NOLINT  (build/header_guard)
/** @}*/  // end of notification_persistent_service
/** @}*/  // end of native_service
/** @}*/  // end of BaseSystem
// EOF