C++ UA Server SDK
1.5.2.336
|
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... | |
UaModelChangeStructureDataType & | operator= (const UaModelChangeStructureDataType &other) |
Assignment operator. More... | |
OpcUa_ModelChangeStructureDataType * | copy () 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_ModelChangeStructureDataType * | detach (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 OpcUa_ModelChangeStructureDataType data to an existing OpcUa_ModelChangeStructureDataType structure. More... | |
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.
UaModelChangeStructureDataType::UaModelChangeStructureDataType | ( | const UaModelChangeStructureDataType & | other | ) |
Constructs an instance of the class UaModelChangeStructureDataType with values from another UaModelChangeStructureDataType object.
other | the 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.
other | the 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.
extensionObject | the 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.
extensionObject | the extension object containing the ModelChangeStructureDataType |
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.
pValue | [in] Parameter to attach to. |
void UaModelChangeStructureDataType::clear | ( | ) |
Clear the data of the UaModelChangeStructureDataType.
|
static |
Copy OpcUa_ModelChangeStructureDataType data to a newly allocated OpcUa_ModelChangeStructureDataType.
source | Source to clone. |
|
static |
Copy OpcUa_ModelChangeStructureDataType data to an existing OpcUa_ModelChangeStructureDataType structure.
source | the source of the clone operation. |
copy | the destination of the clone operation. |
OpcUa_ModelChangeStructureDataType * UaModelChangeStructureDataType::copy | ( | ) | const |
Copy UaModelChangeStructureDataType data to a newly allocated OpcUa_ModelChangeStructureDataType.
void UaModelChangeStructureDataType::copyTo | ( | OpcUa_ModelChangeStructureDataType * | pDst | ) | const |
Copy UaModelChangeStructureDataType data to an existing OpcUa_ModelChangeStructureDataType structure.
pDst | the 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.
pDst | [out] Pointer to an OpcUa_ModelChangeStructureDataType structure that receives the ModelChangeStructureDataType data. |
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.
other | the UaModelChangeStructureDataType to compare with. |
UaModelChangeStructureDataType & UaModelChangeStructureDataType::operator= | ( | const UaModelChangeStructureDataType & | other | ) |
Assignment operator.
other | the UaModelChangeStructureDataType to assign. |
bool UaModelChangeStructureDataType::operator== | ( | const UaModelChangeStructureDataType & | other | ) | const |
Compare two UaModelChangeStructureDataType for equality.
other | the UaModelChangeStructureDataType to compare with. |
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.