C++ Based OPC UA Client/Server/PubSub SDK  1.7.6.537
UaModelChangeStructureDataType Class Reference

Wrapper class for the UA stack structure OpcUa_ModelChangeStructureDataType. More...

#include <uamodelchangestructuredatatype.h>

Public Member Functions

 UaModelChangeStructureDataType ()
 Constructs an instance of the class UaModelChangeStructureDataType with empty default values.
 
 UaModelChangeStructureDataType (const UaModelChangeStructureDataType &other)
 Constructs an instance of the class UaModelChangeStructureDataType with values from another UaModelChangeStructureDataType object. More...
 
 UaModelChangeStructureDataType (const OpcUa_ModelChangeStructureDataType &other)
 Constructs an instance of the class UaModelChangeStructureDataType with values from another OpcUa_ModelChangeStructureDataType structure. More...
 
 UaModelChangeStructureDataType (const UaNodeId &affected, const UaNodeId &affectedType, OpcUa_Byte verb)
 Constructs an instance of the class UaModelChangeStructureDataType with values provided in the constructor.
 
 UaModelChangeStructureDataType (const UaExtensionObject &extensionObject)
 Constructs an instance of the class UaModelChangeStructureDataType initialized with value from a UaExtensionObject. More...
 
 UaModelChangeStructureDataType (const OpcUa_ExtensionObject &extensionObject)
 Constructs an instance of the class UaModelChangeStructureDataType initialized with value from an OpcUa_ExtensionObject structure. More...
 
 ~UaModelChangeStructureDataType ()
 Destroys the UaModelChangeStructureDataType object.
 
void clear ()
 Clear the data of the UaModelChangeStructureDataType. More...
 
bool operator== (const UaModelChangeStructureDataType &other) const
 Compare two UaModelChangeStructureDataType for equality. More...
 
bool operator!= (const UaModelChangeStructureDataType &other) const
 Compare two UaModelChangeStructureDataType for inequality. More...
 
UaModelChangeStructureDataTypeoperator= (const UaModelChangeStructureDataType &other)
 Assignment operator. More...
 
OpcUa_ModelChangeStructureDataTypecopy () const
 Copy UaModelChangeStructureDataType data to a newly allocated OpcUa_ModelChangeStructureDataType. More...
 
void copyTo (OpcUa_ModelChangeStructureDataType *pDst) const
 Copy UaModelChangeStructureDataType data to an existing OpcUa_ModelChangeStructureDataType structure. More...
 
void attach (OpcUa_ModelChangeStructureDataType *pValue)
 Attaches to an existing OpcUa_ModelChangeStructureDataType structure. More...
 
OpcUa_ModelChangeStructureDataTypedetach (OpcUa_ModelChangeStructureDataType *pDst)
 Detaches the internal ModelChangeStructureDataType structure from this class. More...
 
UaNodeId getAffected () const
 NodeId of the Node that was changed. More...
 
UaNodeId getAffectedType () const
 If the affected Node was an object or Variable, affectedType contains the NodeId of the TypeDefinitionNode of the affected Node. More...
 
OpcUa_Byte getVerb () const
 Describes the changes happening to the affected Node. More...
 
void setAffected (const UaNodeId &affected)
 NodeId of the Node that was changed. More...
 
void setAffectedType (const UaNodeId &affectedType)
 If the affected Node was an object or Variable, affectedType contains the NodeId of the TypeDefinitionNode of the affected Node. More...
 
void setVerb (OpcUa_Byte verb)
 Describes the changes happening to the affected Node. More...
 

Static Public Member Functions

static
OpcUa_ModelChangeStructureDataType
clone (const OpcUa_ModelChangeStructureDataType &source)
 Copy OpcUa_ModelChangeStructureDataType data to a newly allocated OpcUa_ModelChangeStructureDataType. More...
 
static void cloneTo (const OpcUa_ModelChangeStructureDataType &source, OpcUa_ModelChangeStructureDataType &copy)
 Copy OpcUa_ModelChangeStructureDataType data to an existing OpcUa_ModelChangeStructureDataType structure. More...
 

Detailed Description

Wrapper class for the UA stack structure OpcUa_ModelChangeStructureDataType.

This class encapsulates the native OpcUa_ModelChangeStructureDataType structure and handles memory allocation and cleanup for you. UaModelChangeStructureDataType uses implicit sharing to avoid needless copying and to boost the performance. Only if you modify a shared ModelChangeStructureDataType it creates a copy for that (copy-on-write). So assigning another UaModelChangeStructureDataType or passing it as parameter needs constant time and is nearly as fast as assigning a pointer.

Contains elements that describe changes of the model.

Constructor & Destructor Documentation

UaModelChangeStructureDataType::UaModelChangeStructureDataType ( const UaModelChangeStructureDataType other)

Constructs an instance of the class UaModelChangeStructureDataType with values from another UaModelChangeStructureDataType object.

Parameters
otherthe other UaModelChangeStructureDataType used to initialize the object
UaModelChangeStructureDataType::UaModelChangeStructureDataType ( const OpcUa_ModelChangeStructureDataType other)

Constructs an instance of the class UaModelChangeStructureDataType with values from another OpcUa_ModelChangeStructureDataType structure.

Parameters
otherthe other OpcUa_ModelChangeStructureDataType used to initialize the object
UaModelChangeStructureDataType::UaModelChangeStructureDataType ( const UaExtensionObject extensionObject)

Constructs an instance of the class UaModelChangeStructureDataType initialized with value from a UaExtensionObject.

Parameters
extensionObjectthe extension object containing the ModelChangeStructureDataType
UaModelChangeStructureDataType::UaModelChangeStructureDataType ( const OpcUa_ExtensionObject extensionObject)

Constructs an instance of the class UaModelChangeStructureDataType initialized with value from an OpcUa_ExtensionObject structure.

Parameters
extensionObjectthe extension object containing the ModelChangeStructureDataType

Member Function Documentation

void UaModelChangeStructureDataType::attach ( OpcUa_ModelChangeStructureDataType pValue)

Attaches to an existing OpcUa_ModelChangeStructureDataType structure.

Don't manually free the attached structure afterwards, because UaModelChangeStructureDataType is responsible for it now.

Parameters
pValue[in] Parameter to attach to.
void UaModelChangeStructureDataType::clear ( )

Clear the data of the UaModelChangeStructureDataType.

OpcUa_ModelChangeStructureDataType * UaModelChangeStructureDataType::clone ( const OpcUa_ModelChangeStructureDataType source)
static

Copy OpcUa_ModelChangeStructureDataType data to a newly allocated OpcUa_ModelChangeStructureDataType.

Parameters
sourceSource to clone.
Returns
pointer to a newly allocated OpcUa_ModelChangeStructureDataType.
void UaModelChangeStructureDataType::cloneTo ( const OpcUa_ModelChangeStructureDataType source,
OpcUa_ModelChangeStructureDataType copy 
)
static

Copy OpcUa_ModelChangeStructureDataType data to an existing OpcUa_ModelChangeStructureDataType structure.

Parameters
sourcethe source of the clone operation.
copythe destination of the clone operation.
OpcUa_ModelChangeStructureDataType * UaModelChangeStructureDataType::copy ( ) const

Copy UaModelChangeStructureDataType data to a newly allocated OpcUa_ModelChangeStructureDataType.

Returns
pointer to a newly allocated OpcUa_ModelChangeStructureDataType.
void UaModelChangeStructureDataType::copyTo ( OpcUa_ModelChangeStructureDataType pDst) const

Copy UaModelChangeStructureDataType data to an existing OpcUa_ModelChangeStructureDataType structure.

Parameters
pDstthe destination of this copy operation.
OpcUa_ModelChangeStructureDataType * UaModelChangeStructureDataType::detach ( OpcUa_ModelChangeStructureDataType pDst)

Detaches the internal ModelChangeStructureDataType structure from this class.

This way you take over the control of freeing the ModelChangeStructureDataType data. If more than one reference exists, the data is copied to pDst instead of being detached.

Parameters
pDst[out] Pointer to an OpcUa_ModelChangeStructureDataType structure that receives the ModelChangeStructureDataType data.
Returns
If the function succeeds, pDst is returned, otherwise 0 is returned.
UaNodeId UaModelChangeStructureDataType::getAffected ( ) const

NodeId of the Node that was changed.

The client should assume that the affected Node has been created or deleted, had a Reference added or deleted, or the DataType has changed as described by the verb.

UaNodeId UaModelChangeStructureDataType::getAffectedType ( ) const

If the affected Node was an object or Variable, affectedType contains the NodeId of the TypeDefinitionNode of the affected Node.

Otherwise it is set to null.

OpcUa_Byte UaModelChangeStructureDataType::getVerb ( ) const

Describes the changes happening to the affected Node.

The verb is an 8-bit unsigned integer used as bit mask with the structure defined in the following table:

Field Bit Description
NodeAdded 0 Indicates the affected Node has been added.
NodeDeleted 1 Indicates the affected Node has been deleted.
ReferenceAdded 2 Indicates a Reference has been added. The affected Node may be either a SourceNode or TargetNode. Note that an added bidirectional Reference is reflected by two ChangeStructures.
ReferenceDeleted 3 Indicates a Reference has been deleted. The affected Node may be either a SourceNode or TargetNode. Note that a deleted bidirectional Reference is reflected by two ChangeStructures.
DataTypeChanged 4 This verb may be used only for affected Nodes that are Variables or VariableTypes. It indicates that the DataType Attribute has changed.
Reserved 5:7 Reserved for future use. Shall always be zero.

A verb may identify several changes on the affected Node at once. This feature should be used if event compression is used.

Note that all verbs shall always be considered in the context where the ModelChangeStructureDataType is used. A NodeDeleted may indicate that a Node was removed from a view but still exists in other Views.

bool UaModelChangeStructureDataType::operator!= ( const UaModelChangeStructureDataType other) const

Compare two UaModelChangeStructureDataType for inequality.

See also
operator==
Parameters
otherthe UaModelChangeStructureDataType to compare with.
Returns
true if not equal, false otherwise.
UaModelChangeStructureDataType & UaModelChangeStructureDataType::operator= ( const UaModelChangeStructureDataType other)

Assignment operator.

Parameters
otherthe UaModelChangeStructureDataType to assign.
Returns
reference to itself.
bool UaModelChangeStructureDataType::operator== ( const UaModelChangeStructureDataType other) const

Compare two UaModelChangeStructureDataType for equality.

Parameters
otherthe UaModelChangeStructureDataType to compare with.
Returns
true if equal, false if not.
void UaModelChangeStructureDataType::setAffected ( const UaNodeId affected)

NodeId of the Node that was changed.

The client should assume that the affected Node has been created or deleted, had a Reference added or deleted, or the DataType has changed as described by the verb.

void UaModelChangeStructureDataType::setAffectedType ( const UaNodeId affectedType)

If the affected Node was an object or Variable, affectedType contains the NodeId of the TypeDefinitionNode of the affected Node.

Otherwise it is set to null.

void UaModelChangeStructureDataType::setVerb ( OpcUa_Byte  verb)

Describes the changes happening to the affected Node.

The verb is an 8-bit unsigned integer used as bit mask with the structure defined in the following table:

Field Bit Description
NodeAdded 0 Indicates the affected Node has been added.
NodeDeleted 1 Indicates the affected Node has been deleted.
ReferenceAdded 2 Indicates a Reference has been added. The affected Node may be either a SourceNode or TargetNode. Note that an added bidirectional Reference is reflected by two ChangeStructures.
ReferenceDeleted 3 Indicates a Reference has been deleted. The affected Node may be either a SourceNode or TargetNode. Note that a deleted bidirectional Reference is reflected by two ChangeStructures.
DataTypeChanged 4 This verb may be used only for affected Nodes that are Variables or VariableTypes. It indicates that the DataType Attribute has changed.
Reserved 5:7 Reserved for future use. Shall always be zero.

A verb may identify several changes on the affected Node at once. This feature should be used if event compression is used.

Note that all verbs shall always be considered in the context where the ModelChangeStructureDataType is used. A NodeDeleted may indicate that a Node was removed from a view but still exists in other Views.


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