The following tables list the members exposed by EventSubscription.
Name | Description | |
---|---|---|
EventSubscription Constructor | Constructor |
Name | Description | |
---|---|---|
BufferTime | ||
cbCoInitForThread | ||
cbOnEvent | ||
ClientSubscription | ||
CurrentEventFilter | ||
EventCategories | ||
IsActive | ||
KeepAliveTime | ||
LastCallback | ||
MaxSize | ||
OwnerServer |
Top
Name | Description | |
---|---|---|
CancelRefresh | Cancels a refresh in progress for the event subscription. If a refresh is in progress, the server should send one final callback with the last refresh flag set and the number of events equal to zero. | |
Create | Create a new EventSubscription. This method is called from EvenServer.CreateEventSubscription after the EventSubscription object is constructed. | |
DefineCallbacks | This method is called from the generic server to pass the references to the client callback wrapper methods. | |
GetFilter | Returns the filter currently in use for event subscriptions. If a server does not support one or more of the filter criteria requested in SetFilter, it returns empty arrays for lists, and values which indicate no filtering is taking place for non-list items. In these cases, it does not return any filters which may have been requested in SetFilter, but which were ignored. | |
GetKeepAlive | Returns the currently active keep-alive time for the subscription. | |
GetReturnedAttributes | For each Event Category, GetReturnedAttributes retrieves the attributes which are currently specified to be returned with event notifications in the OnEvent callback. All retrieved attributes have been specified by previous calls to SelectReturnedAttributes. | |
GetState | Get the current state of the subscription. Client passes pointers to where information is to be saved. This function is typically called to obtain the current values of this information prior to calling SetState. This information was all supplied by the client when the subscription was created. This function is also useful for debugging. | |
onCancelRefresh | ||
onGetFilter | ||
onGetKeepAlive | ||
onGetReturnedAttributes | ||
onGetState | ||
onHandleConditionStateChange | ||
onRefresh | ||
onSelectReturnedAttributes | ||
onSendConditionEvent | ||
onSendSimpleEvent | ||
onSendTrackingEvent | ||
onSetFilter | ||
onSetKeepAlive | ||
onSetState | ||
Refresh | Force a refresh for all active conditions and inactive, unacknowledged conditions whose event notifications match the filter of the event subscription. Clients will often need to get the current condition information from the server, particularly at client startup, for things such as a current alarm summary. The OPC Event Server supports this requirement by resending the most recent event notifications which satisfy the filter in the event subscription and which are related to active and/or unacknowledged conditions. The client can then derive the current condition status from the “refreshed” event notifications. When the client needs a refreshed list of active conditions, it will request a “refresh” from the server. The server will send event notifications to that specific client indicating that they are “refresh” instead of “original” event notifications. Since the client only needs to get the current state information for conditions, only condition events will be refreshed. Note: “Refresh” is not a general “replay” capability since the server is not required to maintain an event history. Refresh is only for updating the client’s state information for active or unacknowledged conditions. See section 2.6, Subscriptions to Event Notifications. In addition to the refresh indicator, there may be other differences between original and refresh event notifications. Specifically, since some attribute information available at the time of the original event notification may be unavailable at the time of the refresh, some attributes in the refresh may be null. Refresh event notifications and original event notifications will not be mixed in the same invocation of the event callback, though refresh and original event callback invocations may be interleaved. Thus, it is the responsibility of the client to check time stamps on the event notifications and put them into the correct order, to ensure correct condition status is obtained. This method is applicable to condition-related events only. Notifications for simple events and tracking events are not returned, even if they would satisfy the filter of the event subscription. This method is applicable both when the subscription is active and when it is inactive (see the discussion of the active flag for the SetState method). | |
Remove | The EventSubscription is being deleted. All threads and resources must be released. | |
SelectReturnedAttributes | For each Event Category, SelectReturnedAttributes sets the attributes to be returned with event notifications in the IOPCEventSink::OnEvent callback. This method can be called multiple times in order to specify the attributes to return for each unique event type and event category pair. For a given event type and event category pair, the attributes returned can be “cleared” by setting the dwCount parameter to zero. If this is called multiple times for the same event type and event category pair, then the latest call will be in effect. | |
SendEvent | ||
SetFilter | Sets the filtering criteria to be used for the event subscription. Events may be selected using the following criteria: • Type of event, i.e. simple, condition, or tracking. • Event categories • Lowest severity, i.e. all events with a severity greater than or equal to the specified severity. • Highest severity, i.e. all events with a severity less than or equal to the specified severity. • Process areas • Event Sources A list of values for a single criterion are logically ORed together (e.g. if two event categories are specified, event notifications for both categories will be received). If multiple criteria are specified, they will be logically ANDed together, i.e. only those events satisfying all criteria will be selected. An example is specifying both lowest severity and highest severity will result in the selection of events with severities lying between the two values. An OPCEventSubscription object has only one filter. The Server is responsible for mapping its internal severity levels to evenly span the 1..1000 range. Clients that wish to receive events of all severities should set dwLowSeverity=1 and dwHighSeverity=1000. Servers may not support all the various filter criteria. The specific filter criteria supported by a given server can be determined via the IOPCEventServer::QueryAvailableFilters method. If a filter criterion is specified that is not supported by the server, it will ignore that filter criterion and return S_FALSE. | |
SetKeepAlive | Clients can set the keep-alive time for a subscription to cause the server to provide client callbacks on the subscription when there are no new events to report. Clients can then be assured of the health of the server and subscription without resorting to pinging the server with calls to GetStatus(). Using this facility, a client can expect a callback (data or keep-alive) within the specified keep-alive time. Servers shall reset their keep-alive timers when real data is sent (i.e. it is not acceptable to constantly send the keep-alive callback at a fixed period equal to the keep-alive time irrespective of data callbacks). The keep-alive callback consists of a call to OnEvent() with count set to zero. Keep-alive callbacks will not occur when the subscription is inactive. Keep-alive callbacks do not affect the value of LastUpdateTime returned by EventServer.GetStatus(). | |
SetState | Client can set various properties of the event subscription. Only properties with the xxxDefined flag = TRUE are processed. |