1 #ifndef _CL_AMS_CLIENT_NOTIFICATION_H_
2 #define _CL_AMS_CLIENT_NOTIFICATION_H_
9 #include <clAmsUtils.h>
11 #include <clAmsEntities.h>
18 #define CL_AMS_EVENT_CHANNEL_NAME "AMS_EVENT_CHANNEL"
19 #define CL_AMS_EVENT_PATTERN "AMS_NOTIFICATION"
20 #define CL_AMS_EVENT_PUBLISHER_NAME "AMS_NOTIFICATION_MANAGER"
21 #define CL_AMS_EVENT_VERSION "B.01.01"
25 CL_AMS_NOTIFICATION_NONE,
26 CL_AMS_NOTIFICATION_FAULT,
27 CL_AMS_NOTIFICATION_SU_INSTANTIATION_FAILURE,
28 CL_AMS_NOTIFICATION_SU_HA_STATE_CHANGE,
29 CL_AMS_NOTIFICATION_SI_FULLY_ASSIGNED,
30 CL_AMS_NOTIFICATION_SI_PARTIALLY_ASSIGNED,
31 CL_AMS_NOTIFICATION_SI_UNASSIGNED,
32 CL_AMS_NOTIFICATION_COMP_ARRIVAL,
33 CL_AMS_NOTIFICATION_COMP_DEPARTURE,
34 CL_AMS_NOTIFICATION_NODE_ARRIVAL,
35 CL_AMS_NOTIFICATION_NODE_DEPARTURE,
36 CL_AMS_NOTIFICATION_ENTITY_CREATE,
37 CL_AMS_NOTIFICATION_ENTITY_DELETE,
38 CL_AMS_NOTIFICATION_OPER_STATE_CHANGE,
39 CL_AMS_NOTIFICATION_ADMIN_STATE_CHANGE,
40 CL_AMS_NOTIFICATION_NODE_SWITCHOVER,
41 CL_AMS_NOTIFICATION_NODE_FAILOVER,
42 CL_AMS_NOTIFICATION_COMP_HA_STATE_CHANGE,
43 CL_AMS_NOTIFICATION_MAX,
44 }ClAmsNotificationTypeT;
48 ClAmsNotificationTypeT type;
49 ClAmsEntityTypeT entityType;
51 SaNameT faultyCompName;
54 SaAmfHAStateT lastHAState;
55 SaAmfHAStateT newHAState;
56 SaAmfRecommendedRecoveryT recoveryActionTaken;
57 ClBoolT repairNecessary;
58 ClAmsOperStateT lastOperState;
59 ClAmsOperStateT newOperState;
60 ClAmsAdminStateT lastAdminState;
61 ClAmsAdminStateT newAdminState;
62 } ClAmsNotificationDescriptorT;
64 typedef struct ClAmsNotificationInfo
66 ClAmsNotificationTypeT type;
69 ClAmsNotificationDescriptorT amsStateInfo;
72 } amsNotificationInfo;
74 #define amsStateNotification amsNotificationInfo.amsStateInfo
75 #define amsCompNotification amsNotificationInfo.amsCompInfo
76 #define amsNodeNotification amsNotificationInfo.amsNodeInfo
78 }ClAmsNotificationInfoT;
80 typedef ClRcT (*ClAmsClientNotificationCallbackT)(ClAmsNotificationInfoT *);
82 ClRcT clAmsClientNotificationInitialize(ClAmsClientNotificationCallbackT callback);
84 ClRcT clAmsClientNotificationFinalize(
void);