UaReference Class Reference
[Core Module Address Model Classes]

#include <uabasereferences.h>

Inheritance diagram for UaReference:
Collaboration diagram for UaReference:

List of all members.


Public Types

enum  CrossNodeManagerReferenceType { UA_NO_CROSSNODEMANAGER = 0, UA_LIST_OF_REFERENCES, UA_SINGLE_REFERENCE }
 Enumeration of cross node manager reference type. More...

Public Member Functions

 UaReference (UaNode *pSourceNode, UaNode *pTargetNode)
virtual ~UaReference ()
virtual
CrossNodeManagerReferenceType 
isCrossNodeManagerRef () const
virtual OpcUa_Boolean isOutOfServerRef () const
UaNodepSourceNode () const
UaNodepTargetNode () const
virtual UaNodeId referenceTypeId () const =0
virtual OpcUa_Boolean isSubtypeOf (const OpcUa_NodeId *pNodeId) const =0
void setSourceNodeInvalid ()
void setTargetNodeInvalid ()
void setNextForwardReference (UaReference *pNextReference)
UaReferencepNextForwardReference ()
void setNextInverseReference (UaReference *pNextReference)
UaReferencepNextInverseReference ()

Protected Attributes

UaNodem_pSourceNode
 Source node of the reference.
UaNodem_pTargetNode
 Target node of the reference.
UaReferencem_pNextForwardReference
 Next reference in a list of forward references.
UaReferencem_pNextInverseReference
 Next reference in a list of forward references.

Detailed Description

Interface definition of the UaReference. Abstract base class for OPC UA references between UA nodes. It is not possible to use the default constructor.

Member Enumeration Documentation

Enumeration of cross node manager reference type.

Enumerator:
UA_NO_CROSSNODEMANAGER  This is not a cross node manager reference
UA_LIST_OF_REFERENCES  This cross node manager reference can have a list of target nodes
UA_SINGLE_REFERENCE  This cross node manager reference has one target node


Constructor & Destructor Documentation

UaReference::UaReference ( UaNode pSourceNode,
UaNode pTargetNode 
)

construction

virtual UaReference::~UaReference (  )  [inline, virtual]

destruction


Member Function Documentation

virtual CrossNodeManagerReferenceType UaReference::isCrossNodeManagerRef (  )  const [inline, virtual]

Checks wether this reference is across node managers or not.

Returns:
The type of cross node manager reference or UA_NO_CROSSNODEMANAGER if it is a normal reference.

Reimplemented in UaRefCrossNodeManager, and UaRefCrossNodeManagerSingle.

virtual OpcUa_Boolean UaReference::isOutOfServerRef (  )  const [inline, virtual]

Checks wether a Node is out of Servers References.

Returns:
FALSE if out of Server Reference.

Reimplemented in UaRefOutOfServer.

UaNode* UaReference::pSourceNode (  )  const [inline]

Get the source Node.

Returns:
the source Node.

UaNode* UaReference::pTargetNode (  )  const [inline]

Get the target Node.

Returns:
the target Node.

virtual OpcUa_Boolean UaReference::isSubtypeOf ( const OpcUa_NodeId *  pNodeId  )  const [pure virtual]

Check wether the current reference is a subtype of the passed reference type node id.

Parameters:
pNodeId NodeId of the requested reference type.
Returns:
TRUE if the reference is a subtype of the passed type FALSE if not.

Implemented in UaRefCrossNodeManager, UaRefCrossNodeManagerSingle, UaRefOutOfServer, UaGenericReference, UaRefOrganizes, UaRefHasComponent, UaRefHasOrderedComponent, UaRefHasProperty, UaRefHasSubtype, UaRefHasEventSource, UaRefHasNotifier, UaRefHasTypeDefinition, UaRefHasHistoricalConfiguration, UaRefGeneratesEvent, UaRefHasDescription, UaRefHasEncoding, UaRefHasModelParent, UaRefHasModellingRule, UaRefFromState, UaRefHasCause, UaRefHasEffect, and UaRefToState.

void UaReference::setSourceNodeInvalid (  )  [inline]

Set source node to invalid.

void UaReference::setTargetNodeInvalid (  )  [inline]

Set target Node to invalid.

void UaReference::setNextForwardReference ( UaReference pNextReference  )  [inline]

Set the next reference for a list of references.

UaReference* UaReference::pNextForwardReference (  )  [inline]

Get the next reference in a list of references.

void UaReference::setNextInverseReference ( UaReference pNextReference  )  [inline]

Set the next reference for a list of references.

UaReference* UaReference::pNextInverseReference (  )  [inline]

Get the next reference in a list of references.


The documentation for this class was generated from the following files:
  • src/uaserver/uaservercpp/coremodule/uabasereferences.h
  • src/uaserver/uaservercpp/coremodule/uabasereferences.cpp