C++ UA Server SDK  1.5.0.318
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Modules Pages
OpcUa::GeneralModelChangeEventTypeData Class Reference

Event data class for the OPC UA event type GeneralModelChangeEventType. More...

#include <opcua_basemodelchangeeventtypedata.h>

Inherits OpcUa::BaseModelChangeEventTypeData.

Public Member Functions

 GeneralModelChangeEventTypeData ()
 Constructs an instance of the event data class GeneralModelChangeEventTypeData.
 
virtual ~GeneralModelChangeEventTypeData ()
 Destroys the GeneralModelChangeEventTypeData object.
 
virtual void getFieldData (OpcUa_UInt32 index, Session *pSession, OpcUa_Variant &data)
 Get the field value for the passed index. More...
 
void setChanges (const UaModelChangeStructureDataTypes &Changes)
 Set the event field value Changes. More...
 
void setChangesStatus (OpcUa_StatusCode status)
 Set a status code for the event field value Changes. More...
 
void getChanges (UaModelChangeStructureDataTypes &Changes)
 Get the event field value Changes. More...
 
virtual void getChangesValue (Session *pSession, OpcUa_Variant &value)
 Get the event field value Changes for delivering the event data. More...
 
- Public Member Functions inherited from OpcUa::BaseModelChangeEventTypeData
 BaseModelChangeEventTypeData ()
 Constructs an instance of the event data class BaseModelChangeEventTypeData.
 
virtual ~BaseModelChangeEventTypeData ()
 Destroys the BaseModelChangeEventTypeData object.
 
- Public Member Functions inherited from BaseEventTypeData
 BaseEventTypeData ()
 Constructs a BaseEventTypeData object.
 
virtual ~BaseEventTypeData ()
 Destroys the BaseEventTypeData object.
 
virtual void prepareNewEvent (const UaDateTime &time, const UaDateTime &receiveTime, const UaByteString &userEventId)
 Initializes the event data fields EventId, Time and ReceiveTime with valid values for the next event. More...
 
virtual UaByteString getEventId () const
 Get the EventId event field. More...
 
virtual UaNodeId getEventTypeId () const
 Get the EventType event field. More...
 
virtual void setSource (const UaNode *pNode)
 Set the SourceNode and SourceName by passing in a node pointer for the source node.
 
virtual void setSourceNode (const UaNodeId &sourceNode)
 Set the SourceNode event field. More...
 
virtual UaNodeId getSourceNode () const
 Get the SourceNode event field. More...
 
virtual void setSourceName (const UaString &sourceName)
 Set the SourceName event field. More...
 
virtual UaString getSourceName () const
 Get the SourceName event field. More...
 
virtual void setTime (const UaDateTime &time)
 Set the Time event field. More...
 
virtual UaDateTime getTime () const
 Get the Time event field. More...
 
virtual void setReceiveTime (const UaDateTime &receiveTime)
 Set the ReceiveTime event field. More...
 
virtual UaDateTime getReceiveTime () const
 Get the ReceiveTime event field. More...
 
virtual void setMessage (const UaLocalizedText &message)
 Set the Message event field. More...
 
virtual UaLocalizedText getMessage () const
 Get the Message event field. More...
 
virtual void getMessageValue (Session *pSession, UaVariant &data)
 Get the message field value. More...
 
virtual void setSeverity (OpcUa_UInt16 severity)
 Set the Severity event field. More...
 
virtual OpcUa_UInt16 getSeverity () const
 Get the Severity event field. More...
 
virtual void setLocalTime (const UaTimeZoneDataType &localTime)
 Set the LocalTime event field. More...
 
virtual UaTimeZoneDataType getLocalTime () const
 Get the LocalTime event field. More...
 
- Public Member Functions inherited from UaEventData
 UaEventData ()
 construction
 
virtual ~UaEventData ()
 destruction
 
virtual UaNodeId getConditionNodeId ()
 Returns the condition NodeId if the event data is related to a condition object. More...
 
virtual UaNodeId getConditionBranchNodeId ()
 Returns the condition branch NodeId if the event data is related to a condition object. More...
 
virtual OpcUa_Boolean getConditionRetain ()
 Returns the Retain flag if the event data is related to a condition object. More...
 
virtual void lockEventData ()
 Lock the event data for data update and event handling. More...
 
virtual void unlockEventData ()
 Unlock the event data after data update or event handling. More...
 
void setEventUserData (OpcUa_Handle pEventUserData)
 Sets the user specific event data to the EventData object. More...
 
OpcUa_Handle getEventUserData () const
 Returns the user specific event data.
 
const NodeAccessInfogetEventAccessInfo () const
 Returns the access info associated with this UaEventData. More...
 
void useEventAccessInfoFrom (const UaEventData *pOther)
 Set the access info from another node to this node. More...
 
void setEventAccessInfo (NodeAccessInfo *pAccessInfo)
 Set access info for this UaEventData. More...
 
void attachEventAccessInfo (NodeAccessInfo *pAccessInfo)
 Set access info for this UaEventData. More...
 
virtual ReferenceCountergetConditionDataReferenceCounter ()
 Get the ReferenceCounter interface necessary for condition event data classes.
 

Static Public Member Functions

static void createTypes ()
 Create the type nodes for the event type GeneralModelChangeEventType.
 
static void clearStaticMembers ()
 Clear the static members of the class.
 
static void registerEventFields ()
 Registers all event type fields with the EventManagerBase.
 
- Static Public Member Functions inherited from OpcUa::BaseModelChangeEventTypeData
static void createTypes ()
 Create the type nodes for the event type BaseModelChangeEventType.
 
static void clearStaticMembers ()
 Clear the static members of the class.
 
static void registerEventFields ()
 Registers all event type fields with the EventManagerBase.
 
- Static Public Member Functions inherited from BaseEventTypeData
static void registerEventFields ()
 Registers all event type fields with the EventManagerBase.
 
- Static Public Member Functions inherited from UaEventData
static void registerEventFields ()
 Registers all event type fields with the EventManagerBase.
 

Additional Inherited Members

- Public Attributes inherited from BaseEventTypeData
UaVariant m_EventId
 Field 01 - EventId.
 
UaNodeId m_EventTypeId
 Field 02 - EventType.
 
UaVariant m_SourceNode
 Field 03 - SourceNode.
 
UaVariant m_SourceName
 Field 04 - SourceName.
 
UaVariant m_Time
 Field 05 - Time.
 
UaVariant m_ReceiveTime
 Field 06 - ReceiveTime.
 
UaVariant m_LocalTime
 Field 07 - LocalTime.
 
UaVariant m_Message
 Field 08 - Message.
 
UaVariant m_Severity
 Field 09 - Severity.
 

Detailed Description

Event data class for the OPC UA event type GeneralModelChangeEventType.

This class provides the functionality necessary to create an event of type GeneralModelChangeEventType, to set the values of the event fields and to send the event to interested clients through EventManagerBase::fireEvent().

Event Fields of the GeneralModelChangeEventType:

Browse Name DataType TypeDefinition Modelling Rule See Also
Changes ModelChangeStructureDataType PropertyType Mandatory getChanges, setChanges

Contains information about the Node that was changed and the action that occurred to cause the ModelChangeEvent (e.g. add a Node, delete a Node, etc.).

If the affected Node is a Variable or object, then the TypeDefinitionNode is also present.

To allow Event compression, a GeneralModelChangeEvent contains an array of changes.

This EventType inherits all Properties of the BaseModelChangeEventType.

Two types of ModelChangeEvents are defined: the BaseModelChangeEvent that does not contain any information about the changes and the GeneralModelChangeEvent that identifies the changed Nodes via an array. The precision used depends on both the capability of the OPC UA Server and the nature of the update. An OPC UA Server may use either ModelChangeEvent type depending on circumstances. It may also define subtypes of these EventTypes adding additional information. To ensure interoperability, one should follow the guidelines for Events listed below.

  • If the array of the GeneralModelChangeEvent is present, then it should identify every Node that has changed since the preceding ModelChangeEvent.
  • The OPC UA Server should emit exactly one ModelChangeEvent for an update or series of updates. It should not issue multiple types of ModelChangeEvent for the same update.
  • Any Client that responds to ModelChangeEvents should respond to any Event of the BaseModelChangeEventTypeData including its subtypes like the GeneralModelChangeEventTypeData.

If a Client is not capable of interpreting additional information of the subtypes of the BaseModelChangeEventTypeData, it should treat Events of these types the same way as Events of the BaseModelChangeEventTypeData.

See also GeneralModelChangeEventType for a documentation of the complete Information Model.

Member Function Documentation

void OpcUa::GeneralModelChangeEventTypeData::getChanges ( UaModelChangeStructureDataTypes Changes)

Get the event field value Changes.

Reflects the changes that issued the ModelChangeEvent.

It shall contain at least one entry in its array.

void OpcUa::GeneralModelChangeEventTypeData::getChangesValue ( Session pSession,
OpcUa_Variant value 
)
virtual

Get the event field value Changes for delivering the event data.

This method can be overwritten in a derived class to return a client session specific value like a localized text matching the LocaleId requested by the client

Reflects the changes that issued the ModelChangeEvent.

It shall contain at least one entry in its array.

void OpcUa::GeneralModelChangeEventTypeData::getFieldData ( OpcUa_UInt32  index,
Session pSession,
OpcUa_Variant data 
)
virtual

Get the field value for the passed index.

Parameters
indexThe index of the selected field.
pSessionThe session context for the method call.
dataThe data for the selected field.

Reimplemented from OpcUa::BaseModelChangeEventTypeData.

void OpcUa::GeneralModelChangeEventTypeData::setChanges ( const UaModelChangeStructureDataTypes Changes)

Set the event field value Changes.

Reflects the changes that issued the ModelChangeEvent.

It shall contain at least one entry in its array.

void OpcUa::GeneralModelChangeEventTypeData::setChangesStatus ( OpcUa_StatusCode  status)

Set a status code for the event field value Changes.

If an event field is not available, a StatusCode must be provided instead of the value to indicate the error situation.


The documentation for this class was generated from the following files: