Purpose of Monitoring Event State Client
This example illustrates a client that monitors the state of the Event Server for specific events. The Event Server has various internal components that handle the routing of events. A client program can register a callback to track the availability of these internal components based upon the event type.
Code
void eventStateCallback ( SPD_eventTypeTP, SPD_eventStateTP, SPD_passbackTP ); main ( int argc, char **argv ) { /* Initialize the API. Application name = "event state example". No application qualifier. */ SPD_InitClient("event state example", NULL); /* Monitor the state of alarm events */ SPD_MonitorEventState(SPD_alarmEventCN, eventStateCallback, NULL); /* Monitor the state of log events */ SPD_MonitorEventState(SPD_logEventCN, eventStateCallback, NULL); } /* Callback which handles event state changes */ void eventStateCallback( SPD_eventTypeTP event, /* Type of event */ SPD_eventStateTP state, /* New state of event */ SPD_passbackTP passback /* Passback data */ ) { switch (event) { case SPD_alarmEventCN: switch (state) { case SPD_eventUpCN: /* Alarm events are up, i.e., they may be sent and received. */ break; case SPD_eventDownCN: /* Alarm events are down, i.e., it is not possible to send or receive them. */ break; } case SPD_logEventCN: switch (state) { case SPD_eventUpCN: /* Log events are up, i.e., it is possible to log a message with Operations Sentinel (SPO) logging. */ break; case SPD_eventDownCN: /* Log events are down, i.e., it is not possible to log a message with Operations Sentinel (SPO) logging. */ break; } } }