UA Server SDK C++ Bundle  1.4.1.271
 All Classes Namespaces Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
OpcUa::ConditionTypeBase Class Referenceabstract

Generated base class for a ConditionType. More...

#include <opcua_conditiontypebase.h>

Inherits OpcUa::BaseEventType.

Inherited by OpcUa::ConditionType.

Public Member Functions

 ConditionTypeBase (const UaNodeId &nodeId, UaObject *pInstanceDeclarationObject, NodeManagerConfig *pNodeConfig, const UaNodeId &sourceNode, const UaString &sourceName, UaMutexRefCounted *pSharedMutex=NULL)
 Constructs an instance of the ConditionType condition type using an instance declaration node as base.
 
 ConditionTypeBase (const UaNodeId &nodeId, const UaString &name, OpcUa_UInt16 browseNameNameSpaceIndex, NodeManagerConfig *pNodeConfig, const UaNodeId &sourceNode, const UaString &sourceName, UaMutexRefCounted *pSharedMutex=NULL)
 Constructs an instance of the ConditionType condition type.
 
 ConditionTypeBase (UaBase::Object *pBaseNode, XmlUaNodeFactoryManager *pFactory, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex=NULL)
 Constructs an instance of the class ConditionTypeBase with all components. More...
 
virtual UaNodeId typeDefinitionId () const
 Returns the type definition NodeId for the ConditionType.
 
virtual void getFieldData (OpcUa_UInt32 index, Session *pSession, OpcUa_Variant &data)
 Get the field value for the passed index. More...
 
void clearFieldData ()
 Clears the event field data after event processing.
 
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...
 
virtual UaStatus beginCall (MethodManagerCallback *pCallback, const ServiceContext &serviceContext, OpcUa_UInt32 callbackHandle, MethodHandle *pMethodHandle, const UaVariantArray &inputArguments)
 Call method of an UA object. More...
 
virtual UaStatus call (const ServiceContext &serviceContext, MethodHandle *pMethodHandle, const UaVariantArray &inputArguments, UaVariantArray &outputArguments, UaStatusCodeArray &inputArgumentResults, UaDiagnosticInfos &inputArgumentDiag)
 Synchronous version of the MethodManager method call executed in a worker thread.
 
virtual UaStatus AddComment (const ServiceContext &serviceContext, UaByteString &EventId, const UaLocalizedText &Comment)=0
 AddComment is used to apply a comment to a specific state of a Condition instance. More...
 
virtual UaStatus Disable (const ServiceContext &serviceContext)=0
 
virtual UaStatus Enable (const ServiceContext &serviceContext)=0
 
virtual void setBranchId (const UaNodeId &BranchId)
 Sets the BranchId value. More...
 
virtual UaNodeId getBranchId () const
 Returns the value of BranchId. More...
 
virtual void setBranchIdStatus (OpcUa_StatusCode status)
 Set a status code for the event field BranchId. More...
 
virtual void setClientUserId (const UaString &ClientUserId)
 Sets the ClientUserId value. More...
 
virtual UaString getClientUserId () const
 Returns the value of ClientUserId. More...
 
virtual void setClientUserIdStatus (OpcUa_StatusCode status)
 Set a status code for the event field ClientUserId. More...
 
virtual void setComment (const UaLocalizedText &Comment)
 Sets the Comment value. More...
 
virtual UaLocalizedText getComment (Session *pSession) const
 Returns the value of Comment. More...
 
virtual void setCommentStatus (OpcUa_StatusCode status)
 Set a status code for the event field Comment. More...
 
virtual void setConditionClassId (const UaNodeId &ConditionClassId)
 Sets the ConditionClassId value. More...
 
virtual UaNodeId getConditionClassId () const
 Returns the value of ConditionClassId. More...
 
virtual void setConditionClassIdStatus (OpcUa_StatusCode status)
 Set a status code for the event field ConditionClassId. More...
 
virtual void setConditionClassName (const UaLocalizedText &ConditionClassName)
 Sets the ConditionClassName value. More...
 
virtual UaLocalizedText getConditionClassName (Session *pSession) const
 Returns the value of ConditionClassName. More...
 
virtual void setConditionClassNameStatus (OpcUa_StatusCode status)
 Set a status code for the event field ConditionClassName. More...
 
virtual void setConditionName (const UaString &ConditionName)
 Sets the ConditionName value. More...
 
virtual UaString getConditionName () const
 Returns the value of ConditionName. More...
 
virtual void setConditionNameStatus (OpcUa_StatusCode status)
 Set a status code for the event field ConditionName. More...
 
virtual void setEnabledState (OpcUa_Boolean enabledState)
 
virtual UaLocalizedText getEnabledState ()
 
virtual void setEnabledStateStatus (OpcUa_StatusCode status)
 Set a status code for the event field EnabledState. More...
 
virtual void setLastSeverity (OpcUa_UInt16 LastSeverity)
 Sets the LastSeverity value. More...
 
virtual OpcUa_UInt16 getLastSeverity () const
 Returns the value of LastSeverity. More...
 
virtual void setLastSeverityStatus (OpcUa_StatusCode status)
 Set a status code for the event field LastSeverity. More...
 
virtual void setQuality (OpcUa_StatusCode Quality)
 Sets the Quality value. More...
 
virtual OpcUa_StatusCode getQuality () const
 Returns the value of Quality. More...
 
virtual void setQualityStatus (OpcUa_StatusCode status)
 Set a status code for the event field Quality. More...
 
virtual void setRetain (OpcUa_Boolean Retain)
 Sets the Retain value. More...
 
virtual OpcUa_Boolean getRetain () const
 Returns the value of Retain. More...
 
virtual void setRetainStatus (OpcUa_StatusCode status)
 Set a status code for the event field Retain. More...
 
virtual OpcUa::PropertyTypegetBranchIdNode ()
 Returns the BranchId node.
 
virtual OpcUa::PropertyTypegetClientUserIdNode ()
 Returns the ClientUserId node.
 
virtual
OpcUa::ConditionVariableType
getCommentNode ()
 Returns the Comment node.
 
virtual OpcUa::PropertyTypegetConditionClassIdNode ()
 Returns the ConditionClassId node.
 
virtual OpcUa::PropertyTypegetConditionClassNameNode ()
 Returns the ConditionClassName node.
 
virtual OpcUa::PropertyTypegetConditionNameNode ()
 Returns the ConditionName node.
 
virtual
OpcUa::TwoStateVariableType
getEnabledStateNode ()
 Returns the EnabledState node.
 
virtual
OpcUa::ConditionVariableType
getLastSeverityNode ()
 Returns the LastSeverity node.
 
virtual
OpcUa::ConditionVariableType
getQualityNode ()
 Returns the Quality node.
 
virtual OpcUa::PropertyTypegetRetainNode ()
 Returns the Retain node.
 
virtual UaStatus triggerEvent (const UaDateTime &time, const UaDateTime &receiveTime, const UaByteString &eventId)
 Send event with current event field data to the subscribed clients After setting the changed states of the event this method is used to trigger the event notification that contains the snapshot of the new state of the condition. More...
 
virtual void getConditionTypeOptionalFieldData (OpcUa_UInt32 index, Session *pSession, OpcUa_Variant &data)
 Get the field value for the passed index for optional fields of the ConditionType. More...
 
- Public Member Functions inherited from OpcUa::BaseEventType
 BaseEventType (const UaNodeId &nodeId, UaObject *pInstanceDeclarationObject, NodeManagerConfig *pNodeConfig, const UaNodeId &sourceNode, const UaString &sourceName, UaMutexRefCounted *pSharedMutex=NULL)
 Construction of the class BaseEventType. More...
 
 BaseEventType (const UaNodeId &nodeId, const UaString &name, OpcUa_UInt16 browseNameNameSpaceIndex, NodeManagerConfig *pNodeConfig, const UaNodeId &sourceNode, const UaString &sourceName, UaMutexRefCounted *pSharedMutex=NULL)
 Construction of the class BaseEventType. More...
 
virtual UaNodeId typeDefinitionId () const
 Returns the type definition NodeId for the ConditionType.
 
virtual void setSourceNode (const UaNodeId &sourceNode)
 Set the value of the SourceNode field. More...
 
virtual UaNodeId getSourceNode () const
 Get the value of the SourceNode field. More...
 
virtual void setSourceName (const UaString &sourceName)
 Set the value of the SourceName field. More...
 
virtual UaString getSourceName () const
 Get the value of the SourceName field. More...
 
virtual void setMessage (const UaLocalizedText &message)
 Set the value of the Message field. More...
 
virtual void setMessageStatus (OpcUa_StatusCode status)
 Set a status code for the Message event field value. More...
 
virtual UaLocalizedText getMessage () const
 Get the value of the Message field. More...
 
virtual void setSeverity (OpcUa_UInt16 severity)
 Set the value of the Severity field. More...
 
virtual void setSeverityStatus (OpcUa_StatusCode status)
 Set a status code for the Severity event field value. More...
 
virtual OpcUa_UInt16 getSeverity () const
 Get the value of the Severity field. More...
 
virtual void setTimeStatus (OpcUa_StatusCode status)
 Set a status code for the Time event field value. More...
 
virtual void setLocalTime (const UaTimeZoneDataType &localTime)
 Set value for optional event property LocalTime. More...
 
virtual UaTimeZoneDataType getLocalTime () const
 Get the LocalTime event field value. More...
 
virtual OpcUa::PropertyTypegetEventIdNode ()
 Returns the EventId node.
 
virtual OpcUa::PropertyTypegetEventTypeNode ()
 Returns the EventType node.
 
virtual OpcUa::PropertyTypegetSourceNodeNode ()
 Returns the SourceNode node.
 
virtual OpcUa::PropertyTypegetSourceNameNode ()
 Returns the SourceName node.
 
virtual OpcUa::PropertyTypegetTimeNode ()
 Returns the Time node.
 
virtual OpcUa::PropertyTypegetReceiveTimeNode ()
 Returns the ReceiveTime node.
 
virtual OpcUa::PropertyTypegetLocalTimeNode ()
 Returns the LocalTime node. More...
 
virtual OpcUa::PropertyTypegetMessageNode ()
 Returns the Message node.
 
virtual OpcUa::PropertyTypegetSeverityNode ()
 Returns the Severity node.
 
virtual UaStatus triggerEvent (const UaDateTime &time, const UaDateTime &receiveTime, const UaByteString &eventId)
 Send event with current event field data to the subscribed clients After setting the changed states of the event this method is used to trigger the event notification that contains the snapshot of the new state of the condition.
 
void lock ()
 Lock the access to the object.
 
void unlock ()
 Unlock the access to the object.
 
- Public Member Functions inherited from OpcUa::BaseObjectType
 BaseObjectType (const UaNodeId &nodeId, UaObject *pInstanceDeclarationObject, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex=NULL)
 Construction of the class BaseObjectType. More...
 
 BaseObjectType (const UaNodeId &nodeId, const UaString &name, OpcUa_UInt16 browseNameNameSpaceIndex, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex=NULL)
 Construction of the class BaseObjectType. More...
 
UaReferenceListsgetUaReferenceLists () const
 Get the UaReferenceLists interface for the node. More...
 
virtual UaStatus browse (const ServiceContext &serviceContext, BrowseContext &browseContext, UaReferenceDescriptions &References)
 Discover the references of a specified node of a view. More...
 
UaNodeId nodeId () const
 Get the NodeId of the current Node. More...
 
virtual UaQualifiedName browseName () const
 Get the browseName of the current Node. More...
 
virtual UaLocalizedText displayName (Session *pSession) const
 Get the displayName as LocalizedText of the current Node. More...
 
virtual OpcUa_Boolean isDescriptionSupported () const
 Check if Node is DescriptionSupported. More...
 
virtual UaLocalizedText description (Session *pSession) const
 Get the description as LocalizedText of the current Node. More...
 
virtual OpcUa_Boolean isWriteMaskSupported () const
 Check if Node is WriteMaskSupported. More...
 
virtual OpcUa_UInt32 writeMask () const
 Get the writeMask of the current Node. More...
 
virtual OpcUa_Boolean isUserWriteMaskSupported () const
 Check if Node is UserWriteMaskSupported. More...
 
virtual OpcUa_UInt32 userWriteMask (Session *pSession) const
 Check if Node has a userWriteMask. More...
 
UaNodegetUaNode () const
 Get the UaNode interface pointer of this node. More...
 
virtual OpcUa_Byte eventNotifier () const
 Returns the EventNotifier for the BaseObjectType. More...
 
virtual MethodManagergetMethodManager (UaMethod *pMethod) const
 Returns the method manager interface for the BaseObjectType instance. More...
 
virtual void setUserData (UserDataBase *pUserData)
 Method to set user data stored in this class. More...
 
virtual UserDataBasegetUserData () const
 Method to get the user data stored in this class. More...
 
virtual void setBrowseName (const UaQualifiedName &browseName)
 Sets the browse name attribute value. More...
 
virtual void setDisplayName (const UaLocalizedText &displayName)
 Sets the display name attribute value. More...
 
virtual void setDescription (const UaLocalizedText &description)
 Sets the description attribute value. More...
 
virtual void setWriteMask (OpcUa_UInt32 writeMask)
 Sets the write mask attribute value. More...
 
virtual void setEventNotifier (OpcUa_Byte eventNotifier)
 Sets the eventNotifier attribute value. More...
 
virtual void setModellingRuleId (const UaNodeId &modellingRuleId)
 Set NodeId of the modeling rule for this node. More...
 
virtual UaNodeId modellingRuleId () const
 Get NodeId of the modeling rule for this node. More...
 
void setMethodManager (MethodManager *pMethodManager)
 Allows a class aggregating the object to implement the MethodManager for this object. More...
 
virtual UaStatus setAttributeValue (Session *pSession, OpcUa_Int32 attributeId, const UaDataValue &dataValue, OpcUa_Boolean checkWriteMask)
 Sets the value of an attribute of the Node. More...
 
- Public Member Functions inherited from MethodManager
 MethodManager ()
 construction
 
virtual ~MethodManager ()
 destruction
 
- Public Member Functions inherited from UaObject
 UaObject ()
 Construction of the UaObject. More...
 
OpcUa_NodeClass nodeClass () const
 Get the node class of the Node. More...
 
virtual void getAttributeValue (Session *pSession, OpcUa_Int32 attributeId, UaDataValue &uaDataValue)
 Gets the value of an attribute of the Node. More...
 
- Public Member Functions inherited from UaNode
 UaNode ()
 Construction of the UaNode. More...
 
virtual UaNodeId getKey () const
 Get the key of the node used for the hash table. More...
 
- Public Member Functions inherited from ChainEntry
 ChainEntry ()
 construction
 
ChainEntryfind (const UaNodeId &key, ChainEntry **ppPrevious)
 finds the right entry in the chain. More...
 
void add (ChainEntry *pNewEntry)
 adds a new entry to the list. More...
 
void prepend (ChainEntry *pNewEntry)
 prepends a new entry to the list. More...
 
ChainEntryremove (const UaNodeId &key, ChainEntry **ppNext)
 removes an entry from the list. More...
 
ChainEntrygetNext () const
 Check if there is a chain. More...
 
virtual void setInvalid ()
 Set the entry to invalid. More...
 
- Public Member Functions inherited from ReferenceCounter
 ReferenceCounter ()
 construction
 
virtual ~ReferenceCounter ()
 destruction
 
- Public Member Functions inherited from UaReferenceLists
 UaReferenceLists ()
 Constructs the reference lists object.
 
virtual ~UaReferenceLists ()
 Destroys the reference lists object.
 
virtual UaStatus browseReferences (const ServiceContext &serviceContext, BrowseContext &browseContext, UaReferenceDescriptions &References)
 Discover the references of a specified node of a view. More...
 
virtual UaStatus translateBrowsePathToNodeId (const ServiceContext &serviceContext, const UaNodeId &startingNode, UaRelativePath &relativePath, UaBrowsePathTargets &browsePathTargets)
 Find a node based on an element of an relative path. More...
 
virtual const UaReferencepTargetNodes () const
 Returns the list of references to target nodes. More...
 
virtual const UaReferencepSourceNodes () const
 Returns the list of references to source nodes. More...
 
virtual UaNodegetTargetNodeByBrowseName (const UaQualifiedName &browseName) const
 Searches a target node with the passed browse name and returns the UaNode interface if found. More...
 
virtual void addTargetNode (UaReference *pReference)
 Add a reference to a target node where this node is the source node. More...
 
virtual void addSourceNode (UaReference *pReference)
 Adds a reference to a source node where this node is the target node. More...
 
virtual UaStatus removeSourceNode (UaReference *pReferenceToRemove)
 Remove a reference to a source node where this node is the target node. More...
 
virtual bool removeSourceReference (UaReference *pReferenceToRemove)
 Remove the passed reference to a source node. More...
 
virtual UaStatus removeTargetNode (UaNode *pTargetNode, const UaNodeId &referenceTypeId, OpcUa_Boolean deleteBidirectional)
 Remove a reference to a target node where this node is the source node. More...
 
virtual UaStatus removeTargetNode (const UaNodeId &targetNodeId, const UaNodeId &referenceTypeId, OpcUa_Boolean deleteBidirectional)
 Remove a reference to a target node where this node is the source node. More...
 
virtual bool removeTargetReference (UaReference *pReferenceToRemove)
 Remove the passed reference to a target node. More...
 
virtual UaStatus removeCrossNodeManagerRef (NodeManager *pNodeManager)
 Remove references to another NodeManager. More...
 
virtual UaStatus invalidateSourceReferences (OpcUa_Boolean deleteSourceReferences)
 Set all references from SourceNodes to this Node invalid. More...
 
virtual UaStatus invalidateTargetReferences (OpcUa_Boolean deleteTargetReferences)
 Set all references to TargetNode of this node invalid. More...
 
virtual UaStatus deleteAllChildren (NodeManagerConfig *pNodeManagerConfig)
 Deletes all child nodes. More...
 
- 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)
 Send event with current event field data to the subscribed clients After setting the changed states of the event this method is used to trigger the event notification that contains the snapshot of the new state of the condition. More...
 
virtual void setSource (const UaNode *pNode)
 Set the SourceNode and SoruceName 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...
 
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.
 
virtual ReferenceCountergetConditionDataReferenceCounter ()
 Get the ReferenceCounter interface necessary for condition event data classes.
 

Static Public Member Functions

static void createTypes ()
 Create the related type nodes.
 
static void clearStaticMembers ()
 Clear the static members of the class.
 
static void registerEventFields ()
 Registers all event type fields with the EventManagerBase.
 
static OpcUa_UInt32 registerOptionalEventFields (const UaString &fieldName)
 Registers optional event fields with the EventManagerBase.
 
- Static Public Member Functions inherited from OpcUa::BaseEventType
static void createTypes ()
 Create the related type nodes.
 
static void clearStaticMembers ()
 Clear the static members of the class.
 
- Static Public Member Functions inherited from OpcUa::BaseObjectType
static void clearStaticMembers ()
 Clear the static members of the class.
 
- 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.
 

Protected Member Functions

virtual ~ConditionTypeBase ()
 Destroys the ConditionType object.
 
- Protected Member Functions inherited from OpcUa::BaseEventType
virtual ~BaseEventType ()
 Destruction.
 
virtual OpcUa_StatusCode sendEvent (UaEventData *pEventData)
 Adds the event field values of this type and fires the event.
 
- Protected Member Functions inherited from OpcUa::BaseObjectType
virtual ~BaseObjectType ()
 Destruction of the BaseObjectType. More...
 
- Protected Member Functions inherited from UaObject
virtual ~UaObject ()
 Destruction of the UaObject. More...
 
- Protected Member Functions inherited from UaNode
virtual ~UaNode ()
 Destruction of the UaNode. More...
 
- Protected Member Functions inherited from ChainEntry
virtual ~ChainEntry ()
 destruction
 

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.
 
- Protected Attributes inherited from UaReferenceLists
UaReferencem_pTargetNodes
 List of references to target nodes where this node is the source node. More...
 
UaReferencem_pLastTargetNode
 Last references in the list of references to the target nodes. More...
 
UaReferencem_pSourceNodes
 List of references to source nodes where this node is the target node. More...
 

Detailed Description

Generated base class for a ConditionType.

This class contains the auto generated code for the object type ConditionType representing an OPC UA condition type. This class is used to create the condition type and to create and represent the condition object in the server address space. It provides also the UaEventData interface for the access to event data containing the current state of the condition for events sent to the client.

The ConditionType defines all general characteristics of a Condition. All other ConditionTypes derive from it. The FALSE state of the EnabledState shall not be extended with a sub state machine. The ConditionType inherits all Properties of the BaseEventType. SourceNode identifies the ConditionSource. If the ConditionSource is not a Node in the AddressSpace the NodeId is set to null. The SourceNode is the Node which the condition is associated with, it may be the same as the InputNode for an alarm, but it may be a separate node. For example a motor, which is a variable with a value that is an RPM, may be the ConditionSource for Conditions that are related to the motor as well as a temperature sensor associated with the motor. In the former the InputNode for the High RPM alarm is the value of the Motor RPM, while in the later the InputNode of the High Alarm would be the value of the temperature sensor that is associated with the motor.

ConditionClassId specifies in which domain this Condition is used. It is the NodeId of the corresponding ConditionClassType. See getConditionClassId or setConditionClassId for more details.

ConditionClassName provides the display name of the ConditionClassType.

ConditionName identifies the Condition instance that the Event originated from. See getConditionName or setConditionName for more details.

BranchId is Null for all Event Notifications that relate to the current state of the Condition instance. If BranchId is not Null it identifies a previous state of this Condition instance that still needs attention by an Operator. See getBranchId or setBranchId for more details.

Retain when TRUE describes a Condition (or ConditionBranch) as being in a state that is interesting for a Client wishing to synchronize its state with the Server’s state. See getRetain or setRetain for more details.

EnabledState indicates whether the Condition is enabled. See getEnabledState or setEnabledState for more details.

Quality reveals the status of process values or other resources that this Condition instance is based upon. See getQuality or setQuality for more details.

Events are only generated for Conditions that have their Retain field set to true.

LastSeverity provides the previous severity of the ConditionBranch. See getLastSeverity or setLastSeverity for more details.

Comment contains the last comment provided for a certain state (ConditionBranch). See getComment or setComment for more details.

ClientUserId is related to the Comment field and contains the identity of the user who inserted the most recent Comment. The logic to obtain the ClientUserId is defined in Part 5 of the OPC UA Specification.

The NodeId of the Condition instance is used as ConditionId. It is not explicitly modelled as a component of the ConditionType. However, it can be requested with the following SimpleAttributeOperand in the SelectClause of the EventFilter:

Name Type Description
SimpleAttributeOperand  
   typeId NodeId NodeId of the ConditionType Node
   browsePath[] QualifiedName empty
   attributeId IntegerId Id of the NodeId Attribute

Constructor & Destructor Documentation

OpcUa::ConditionTypeBase::ConditionTypeBase ( UaBase::Object pBaseNode,
XmlUaNodeFactoryManager pFactory,
NodeManagerConfig pNodeConfig,
UaMutexRefCounted pSharedMutex = NULL 
)

Constructs an instance of the class ConditionTypeBase with all components.

Parameters
[in]pBaseNodeThe "tree" of nodes that specifies the attributes of the instance and its children
[in]pFactoryThe factory to create the children
[in]pNodeConfigInterface pointer to the NodeManagerConfig interface used to add and delete node and references in the address space
[in]pSharedMutexShared mutex object used to synchronize access to the variable. Can be NULL if no shared mutex is provided

Member Function Documentation

OpcUa::ConditionTypeBase::AddComment ( const ServiceContext serviceContext,
UaByteString EventId,
const UaLocalizedText Comment 
)
pure virtual

AddComment is used to apply a comment to a specific state of a Condition instance.

Normally, the MethodId passed to the Call Service is found by browsing the Condition instance in the AddressSpace. However, some Servers do not expose Condition instances in the AddressSpace. Therefore all Servers shall allow Clients to call the AddComment Method by specifying ConditionId as the ObjectId and the well known NodeId of the Method declaration on the ConditionType as the MethodId. The Method cannot be called on the ConditionType Node.

Implemented in OpcUa::ConditionType.

UaStatus OpcUa::ConditionTypeBase::beginCall ( MethodManagerCallback pCallback,
const ServiceContext serviceContext,
OpcUa_UInt32  callbackHandle,
MethodHandle pMethodHandle,
const UaVariantArray &  inputArguments 
)
virtual

Call method of an UA object.

Implementation of the MethodManager interface method beginCall.

Reimplemented from OpcUa::BaseObjectType.

Reimplemented in OpcUa::DialogConditionTypeBase, and OpcUa::AcknowledgeableConditionTypeBase.

OpcUa::ConditionTypeBase::Disable ( const ServiceContext serviceContext)
pure virtual

Disable is used to change a Condition instance to the Disabled state. Normally, the MethodId passed to the Call Service is found by browsing the Condition instance in the AddressSpace. However, some Servers do not expose Condition instances in the AddressSpace. Therefore all Servers shall allow Clients to call the Disable Method by specifying ConditionId as the ObjectId and the well known NodeId of the Method declaration on the ConditionType as the MethodId.

Implemented in OpcUa::ConditionType.

OpcUa::ConditionTypeBase::Enable ( const ServiceContext serviceContext)
pure virtual

Enable is used to change a Condition instance to the enabled state. Normally, the MethodId passed to the Call Service is found by browsing the Condition instance in the AddressSpace. However, some Servers do not expose Condition instances in the AddressSpace. Therefore all Servers shall allow Clients to call the Enable Method by specifying ConditionId as the ObjectId and the well known NodeId of the Method declaration on the ConditionType as the MethodId.

Implemented in OpcUa::ConditionType.

OpcUa::ConditionTypeBase::getBranchId ( ) const
virtual

Returns the value of BranchId.

BranchId is Null for all Event Notifications that relate to the current state of the Condition instance. If BranchId is not Null it identifies a previous state of this Condition instance that still needs attention by an Operator. If the current ConditionBranch is transformed into a previous ConditionBranch then the Server needs to assign a non-null BranchId. An initial Event for the branch will be generated with the values of the ConditionBranch and the new BranchId. The ConditionBranch can be updated many times before it is no longer needed. When the ConditionBranch no longer requires Operator input the final Event will have Retain set to FALSE. The retain bit on the current Event is TRUE, as long as any ConditionBranches require Operator input. The BranchId DataType is NodeId although the Server is not required to have ConditionBranches in the Address Space. The use of a NodeId allows the Server to use simple numeric identifiers, strings or arrays of bytes.

OpcUa::ConditionTypeBase::getClientUserId ( ) const
virtual

Returns the value of ClientUserId.

ClientUserId is related to the Comment field and contains the identity of the user who inserted the most recent Comment. The logic to obtain the ClientUserId is defined in Part 5 of the OPC UA Specification.

OpcUa::ConditionTypeBase::getComment ( Session pSession) const
virtual

Returns the value of Comment.

Comment contains the last comment provided for a certain state (ConditionBranch). It may have been provided by an AddComment Method, some other Method or in some other manner. The initial value of this Variable is null, unless it is provided in some other manner. If a Method provides as an option the ability to set a Comment, then the value of this Variable is reset to null if an optional comment is not provided.

OpcUa::ConditionTypeBase::getConditionClassId ( ) const
virtual

Returns the value of ConditionClassId.

ConditionClassId specifies in which domain this Condition is used. It is the NodeId of the corresponding ConditionClassType. . When using this Property for filtering, Clients have to specify all individual ConditionClassType NodeIds. The OfType operator cannot be applied. BaseConditionClassType is used as class whenever a Condition cannot be assigned to a more concrete class.

OpcUa::ConditionTypeBase::getConditionClassName ( Session pSession) const
virtual

Returns the value of ConditionClassName.

ConditionClassName provides the display name of the ConditionClassType.

OpcUa::ConditionTypeBase::getConditionName ( ) const
virtual

Returns the value of ConditionName.

ConditionName identifies the Condition instance that the Event originated from. It can be used together with the SourceName in a user display to distinguish between different Condition instances. If a ConditionSource has only one instance of a ConditionType, and the Server has no instance name, the Server shall supply the ConditionType browse name.

void OpcUa::ConditionTypeBase::getConditionTypeOptionalFieldData ( OpcUa_UInt32  index,
Session pSession,
OpcUa_Variant &  data 
)
virtual

Get the field value for the passed index for optional fields of the ConditionType.

This function must be overwritten by derived classes to provide the optional fields registred with ConditionTypeData::registerOptionalEventFields

Parameters
indexThe index of the selected field.
pSessionThe session context for the method call.
dataThe data for the selected field.
OpcUa::ConditionTypeBase::getEnabledState ( )
virtual

EnabledState indicates whether the Condition is enabled. EnabledState/Id is TRUE if enabled, FALSE otherwise. EnabledState/TransitionTime defines when the EnabledState last changed. Recommended state names for LocaleIds are listed in the following table.

LocaleId FALSE State Name TRUE State Name
en Disabled Enabled
de Ausgeschaltet Eingeschaltet
fr Hors Service En Service

A Condition’s EnabledState effects the generation of Event Notifications and as such results in the following specific behaviour:

  • When the Condition instance enters the Disabled state, the Retain Property of this Condition shall be set to FALSE by the Server to indicate to the Client that the Condition instance is currently not of interest to Clients.
  • When the Condition instance enters the enabled state, the Condition shall be evaluated and all of its Properties updated to reflect the current values. If this evaluation causes the Retain Property to transition to TRUE for any ConditionBranch, then an Event Notification shall be generated for that ConditionBranch.
  • The Server may choose to continue to test for a Condition instance while it is Disabled. However, no Event Notifications will be generated while the Condition instance is disabled.
  • For any Condition that exists in the AddressSpace the Attributes and the following Variables will continue to have valid values even in the Disabled state: EventId, Event Type, Source Node, Source Name, Time, and EnabledState. Other properties may no longer provide current valid values. All Variables that are no longer provided shall return a status of Bad_ConditionDisabled.

When enabled, changes to the following components shall cause a ConditionType Event Notification:

  • Quality
  • Severity (inherited from BaseEventType)
  • Comment

This may not be the complete list. Sub-Types may define additional Variables that trigger Event Notifications. In general changes to Variables of the types TwoStateVariableType or ConditionVariableType trigger Event Notifications.

void OpcUa::ConditionTypeBase::getFieldData ( OpcUa_UInt32  index,
Session pSession,
OpcUa_Variant &  data 
)
virtual
OpcUa::ConditionTypeBase::getLastSeverity ( ) const
virtual

Returns the value of LastSeverity.

LastSeverity provides the previous severity of the ConditionBranch. Initially this Variable contains a zero value; it will return a value only after a severity change. The new severity is supplied via the Severity Property which is inherited from the BaseEventType.

OpcUa::ConditionTypeBase::getQuality ( ) const
virtual

Returns the value of Quality.

Quality reveals the status of process values or other resources that this Condition instance is based upon. If, for example, a process value is “Uncertain”, the associated “LevelAlarm” Condition is also questionable. Values for the Quality can be any of the OPC StatusCodes defined in Part 8 (Data Access) of the OPC UA Specification as well as Good, Uncertain and Bad as defined in Part 4. These StatusCodes are similar to but slightly more generic than the description of data quality in the various Fieldbus Specifications. It is the responsibility of the Server to map internal status information to these codes. A Server which supports no quality information shall return Good. This quality can also reflect the communication status associated with the system that this value or resource is based on and from which this Alarm was received. For communication errors to the underlying system, especially those that result in some unavailable Event fields, the quality shall be Bad_NoCommunication error.

OpcUa::ConditionTypeBase::getRetain ( ) const
virtual

Returns the value of Retain.

Retain when TRUE describes a Condition (or ConditionBranch) as being in a state that is interesting for a Client wishing to synchronize its state with the Server’s state. The logic to determine how this flag is set is Server specific. Typically all Active Alarms would have the Retain flag set; however, it is also possible for inactive Alarms to have their Retain flag set to TRUE. In normal processing when a Client receives an Event with the Retain flag set to FALSE, the Client should consider this as a ConditionBranch that is no longer of interest, in the case of a “current Alarm display” the ConditionBranch would be removed from the display.

virtual void OpcUa::ConditionTypeBase::lockEventData ( )
inlinevirtual

Lock the event data for data update and event handling.

This method is used for event data objects maintaining a state for conditions since there may be concurrent access to the condition data by a condition update and a condition refresh triggered by a client. This method is also used during the event processing in the SDK.

Reimplemented from UaEventData.

OpcUa::ConditionTypeBase::setBranchId ( const UaNodeId BranchId)
virtual

Sets the BranchId value.

BranchId is Null for all Event Notifications that relate to the current state of the Condition instance. If BranchId is not Null it identifies a previous state of this Condition instance that still needs attention by an Operator. If the current ConditionBranch is transformed into a previous ConditionBranch then the Server needs to assign a non-null BranchId. An initial Event for the branch will be generated with the values of the ConditionBranch and the new BranchId. The ConditionBranch can be updated many times before it is no longer needed. When the ConditionBranch no longer requires Operator input the final Event will have Retain set to FALSE. The retain bit on the current Event is TRUE, as long as any ConditionBranches require Operator input. The BranchId DataType is NodeId although the Server is not required to have ConditionBranches in the Address Space. The use of a NodeId allows the Server to use simple numeric identifiers, strings or arrays of bytes.

void OpcUa::ConditionTypeBase::setBranchIdStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field BranchId.

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

OpcUa::ConditionTypeBase::setClientUserId ( const UaString ClientUserId)
virtual

Sets the ClientUserId value.

ClientUserId is related to the Comment field and contains the identity of the user who inserted the most recent Comment. The logic to obtain the ClientUserId is defined in Part 5 of the OPC UA Specification.

void OpcUa::ConditionTypeBase::setClientUserIdStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field ClientUserId.

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

OpcUa::ConditionTypeBase::setComment ( const UaLocalizedText Comment)
virtual

Sets the Comment value.

Comment contains the last comment provided for a certain state (ConditionBranch). It may have been provided by an AddComment Method, some other Method or in some other manner. The initial value of this Variable is null, unless it is provided in some other manner. If a Method provides as an option the ability to set a Comment, then the value of this Variable is reset to null if an optional comment is not provided.

void OpcUa::ConditionTypeBase::setCommentStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field Comment.

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

OpcUa::ConditionTypeBase::setConditionClassId ( const UaNodeId ConditionClassId)
virtual

Sets the ConditionClassId value.

ConditionClassId specifies in which domain this Condition is used. It is the NodeId of the corresponding ConditionClassType. When using this Property for filtering, Clients have to specify all individual ConditionClassType NodeIds. The OfType operator cannot be applied. BaseConditionClassType is used as class whenever a Condition cannot be assigned to a more concrete class.

void OpcUa::ConditionTypeBase::setConditionClassIdStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field ConditionClassId.

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

OpcUa::ConditionTypeBase::setConditionClassName ( const UaLocalizedText ConditionClassName)
virtual

Sets the ConditionClassName value.

ConditionClassName provides the display name of the ConditionClassType.

void OpcUa::ConditionTypeBase::setConditionClassNameStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field ConditionClassName.

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

OpcUa::ConditionTypeBase::setConditionName ( const UaString ConditionName)
virtual

Sets the ConditionName value.

ConditionName identifies the Condition instance that the Event originated from. It can be used together with the SourceName in a user display to distinguish between different Condition instances. If a ConditionSource has only one instance of a ConditionType, and the Server has no instance name, the Server shall supply the ConditionType browse name.

void OpcUa::ConditionTypeBase::setConditionNameStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field ConditionName.

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

OpcUa::ConditionTypeBase::setEnabledState ( OpcUa_Boolean  enabledState)
virtual

EnabledState indicates whether the Condition is enabled. EnabledState/Id is TRUE if enabled, FALSE otherwise. EnabledState/TransitionTime defines when the EnabledState last changed. Recommended state names for LocaleIds are listed in the following table.

LocaleId FALSE State Name TRUE State Name
en Disabled Enabled
de Ausgeschaltet Eingeschaltet
fr Hors Service En Service

A Condition’s EnabledState effects the generation of Event Notifications and as such results in the following specific behaviour:

  • When the Condition instance enters the Disabled state, the Retain Property of this Condition shall be set to FALSE by the Server to indicate to the Client that the Condition instance is currently not of interest to Clients.
  • When the Condition instance enters the enabled state, the Condition shall be evaluated and all of its Properties updated to reflect the current values. If this evaluation causes the Retain Property to transition to TRUE for any ConditionBranch, then an Event Notification shall be generated for that ConditionBranch.
  • The Server may choose to continue to test for a Condition instance while it is Disabled. However, no Event Notifications will be generated while the Condition instance is disabled.
  • For any Condition that exists in the AddressSpace the Attributes and the following Variables will continue to have valid values even in the Disabled state; EventId, Event Type, Source Node, Source Name, Time, and EnabledState. Other properties may no longer provide current valid values. All Variables that are no longer provided shall returnstatus of Bad_ConditionDisabled.

When enabled, changes to the following components shall cause a ConditionType Event Notification:

  • Quality
  • Severity (inherited from BaseEventType)
  • Comment

This may not be the complete list. Sub-Types may define additional Variables that trigger Event Notifications. In general changes to Variables of the types TwoStateVariableType or ConditionVariableType trigger Event Notifications.

void OpcUa::ConditionTypeBase::setEnabledStateStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field EnabledState.

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

OpcUa::ConditionTypeBase::setLastSeverity ( OpcUa_UInt16  LastSeverity)
virtual

Sets the LastSeverity value.

LastSeverity provides the previous severity of the ConditionBranch. Initially this Variable contains a zero value; it will return a value only after a severity change. The new severity is supplied via the Severity Property which is inherited from the BaseEventType.

void OpcUa::ConditionTypeBase::setLastSeverityStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field LastSeverity.

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

OpcUa::ConditionTypeBase::setQuality ( OpcUa_StatusCode  Quality)
virtual

Sets the Quality value.

Quality reveals the status of process values or other resources that this Condition instance is based upon. If, for example, a process value is “Uncertain”, the associated “LevelAlarm” Condition is also questionable. Values for the Quality can be any of the OPC StatusCodes defined in Part 8 (Data Access) of the OPC UA Specification as well as Good, Uncertain and Bad as defined in Part 4. These StatusCodes are similar to but slightly more generic than the description of data quality in the various Fieldbus Specifications. It is the responsibility of the Server to map internal status information to these codes. A Server which supports no quality information shall return Good. This quality can also reflect the communication status associated with the system that this value or resource is based on and from which this Alarm was received. For communication errors to the underlying system, especially those that result in some unavailable Event fields, the quality shall be Bad_NoCommunication error.

void OpcUa::ConditionTypeBase::setQualityStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field Quality.

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

OpcUa::ConditionTypeBase::setRetain ( OpcUa_Boolean  Retain)
virtual

Sets the Retain value.

Retain when TRUE describes a Condition (or ConditionBranch) as being in a state that is interesting for a Client wishing to synchronize its state with the Server’s state. The logic to determine how this flag is set is Server specific. Typically all Active Alarms would have the Retain flag set; however, it is also possible for inactive Alarms to have their Retain flag set to TRUE. In normal processing when a Client receives an Event with the Retain flag set to FALSE, the Client should consider this as a ConditionBranch that is no longer of interest, in the case of a “current Alarm display” the ConditionBranch would be removed from the display.

void OpcUa::ConditionTypeBase::setRetainStatus ( OpcUa_StatusCode  status)
virtual

Set a status code for the event field Retain.

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

UaStatus OpcUa::ConditionTypeBase::triggerEvent ( const UaDateTime time,
const UaDateTime receiveTime,
const UaByteString userEventId 
)
virtual

Send event with current event field data to the subscribed clients After setting the changed states of the event this method is used to trigger the event notification that contains the snapshot of the new state of the condition.

Parameters
[in]timeTime provides the time the Event occurred. This value is set as close to the event generator as possible. It often comes from the underlying system or device.
[in]receiveTimeReceiveTime provides the time the OPC UA Server received the Event from the underlying device or another Server.
[in]userEventIdThe server is responsible for generating a unique EventId for every event sent to the client. The SDK uses this parameter userEventId as part of the EventId but adds a unique part. The EventId is provided by the client in calls back to the server like in an alarm acknowledgement. The user specific part can be extracted from the EventId provided by the client by using EventManagerBase::getUserEventId()

Reimplemented in OpcUa::DialogConditionTypeBase, OpcUa::AlarmConditionTypeBase, OpcUa::NonExclusiveLimitAlarmTypeBase, OpcUa::AcknowledgeableConditionTypeBase, OpcUa::LimitAlarmTypeBase, OpcUa::ExclusiveLimitAlarmTypeBase, OpcUa::OffNormalAlarmTypeBase, OpcUa::ExclusiveDeviationAlarmType, OpcUa::NonExclusiveDeviationAlarmType, OpcUa::DiscreteAlarmTypeBase, OpcUa::ExclusiveLevelAlarmType, OpcUa::ExclusiveRateOfChangeAlarmType, OpcUa::NonExclusiveLevelAlarmType, OpcUa::NonExclusiveRateOfChangeAlarmType, OpcUa::SystemOffNormalAlarmType, and OpcUa::TripAlarmType.

virtual void OpcUa::ConditionTypeBase::unlockEventData ( )
inlinevirtual

Unlock the event data after data update or event handling.

This method is used for event data objects maintaining a state for conditions since there may be concurrent access to the condition data by a condition update and a condition refresh triggered by a client. This method is also used during the event processing in the SDK.

Reimplemented from UaEventData.


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