EventManager Class Reference
[Core Module Interfaces]

#include <eventmanager.h>

Inheritance diagram for EventManager:

List of all members.


Public Member Functions

 EventManager ()
 construction
virtual ~EventManager ()
 destruction
virtual UaStatus beginEventTransaction (EventManagerCallback *pCallback, const ServiceContext &serviceContext, OpcUa_UInt32 hTransaction, OpcUa_Handle &hEventManagerContext)=0
virtual UaStatus beginStartMonitoring (OpcUa_Handle hEventManagerContext, OpcUa_UInt32 callbackHandle, OpcUa_UInt32 eventManagerIndex, EventCallback *pEventCallback, OpcUa_EventFilter *pEventFilter, OpcUa_Double samplingInterval)=0
virtual UaStatus beginModifyMonitoring (OpcUa_Handle hEventManagerContext, OpcUa_UInt32 callbackHandle, OpcUa_UInt32 eventManagerIndex, OpcUa_UInt32 hEventItem, OpcUa_Int32 samplingInterval)=0
virtual UaStatus beginStopMonitoring (OpcUa_Handle hEventManagerContext, OpcUa_UInt32 callbackHandle, OpcUa_UInt32 eventManagerIndex, OpcUa_UInt32 hEventItem)=0
virtual UaStatus finishEventTransaction (OpcUa_Handle hEventManagerContext)=0

Detailed Description

Interface definition of the EventManager used for monitoring events. The EventManager interface provides the monitoring capabilities for object notifiers. The EventManager interface is asynchronous. For the EventManager callback the EventManagerCallback interface is implemented by the consumer of the events. One of the consumers is the UA Module. This interface is used by the SDK to multiplex the list of event monitored items in the UA service call to different EventManager. One UA service call is a transaction for the SDK. If an EventManager is used in a transaction, the beginEventTransaction method is called by the SDK. This allows the EventManager to create a context for the transactions since the SDK will call the associated begin method (e.g. beginStartMonitoring) for each monitored item in the transaction. Depending on the underlying system, the action can be started for each monitored item in the begin method or for a list of monitored items in the finishEventTransaction method. If the underlying system allows optimizing access for a list of monitored items, the finishEventTransaction method should be used to start the access to the underlying system. This method is called by the SDK after calling the begin methods for all monitored items in the transaction.

Member Function Documentation

virtual UaStatus EventManager::beginEventTransaction ( EventManagerCallback pCallback,
const ServiceContext serviceContext,
OpcUa_UInt32  hTransaction,
OpcUa_Handle &  hEventManagerContext 
) [pure virtual]

Start a transaction.

Parameters:
pCallback Callback interface used for the transaction. The IOManager must use this interface to finish the action for each passed node in the transaction.
serviceContext General context for the service calls containing information like the session object, return diagnostic mask and timeout hint.
hTransaction Handle for the transaction used by the SDK to identify the transaction in the callbacks. This handle was passed in to the IOManager with the beginTransaction method.
hEventManagerContext a Variable with all information about the current context.
Returns:
Error code

Implemented in UaObjectServer.

virtual UaStatus EventManager::beginStartMonitoring ( OpcUa_Handle  hEventManagerContext,
OpcUa_UInt32  callbackHandle,
OpcUa_UInt32  eventManagerIndex,
EventCallback pEventCallback,
OpcUa_EventFilter *  pEventFilter,
OpcUa_Double  samplingInterval 
) [pure virtual]

Start monitoring of an event notifier.

Parameters:
hEventManagerContext a Variable with all information about the current context.
callbackHandle Handle for the node in the callback.
eventManagerIndex an Index of different EventManagers.
pEventCallback the callback Event of the actual used monitored Item.
pEventFilter a filter for all Events that can occur.
samplingInterval a Variable with information about the samplingInterval.
Returns:
Error code

Implemented in UaObjectServer.

virtual UaStatus EventManager::beginModifyMonitoring ( OpcUa_Handle  hEventManagerContext,
OpcUa_UInt32  callbackHandle,
OpcUa_UInt32  eventManagerIndex,
OpcUa_UInt32  hEventItem,
OpcUa_Int32  samplingInterval 
) [pure virtual]

Notify EventManager about modifying monitoring parameters of an event notifier.

Parameters:
hEventManagerContext a Variable with all information about the current context.
callbackHandle Handle for the node in the callback.
eventManagerIndex an Index of different EventManagers.
hEventItem an EventItem used to fire an Event.
samplingInterval a Variable with information about the samplingInterval.
Returns:
Error code

Implemented in UaObjectServer.

virtual UaStatus EventManager::beginStopMonitoring ( OpcUa_Handle  hEventManagerContext,
OpcUa_UInt32  callbackHandle,
OpcUa_UInt32  eventManagerIndex,
OpcUa_UInt32  hEventItem 
) [pure virtual]

Notify EventManager about stopping monitoring of an event notifier.

Parameters:
hEventManagerContext a Variable with all information about the current context.
callbackHandle Handle for the node in the callback.
eventManagerIndex an Index of different EventManagers.
hEventItem an EventItem used to fire an Event.
Returns:
Error code

Implemented in UaObjectServer.

virtual UaStatus EventManager::finishEventTransaction ( OpcUa_Handle  hEventManagerContext  )  [pure virtual]

Finish a transaction.

Parameters:
hEventManagerContext a Variable with all information about the current context.
Returns:
Error code

Implemented in UaObjectServer.


The documentation for this class was generated from the following file:
  • src/uaserver/uaservercpp/coremodule/eventmanager.h