C++ Based OPC UA Client/Server/PubSub SDK  1.7.6.537
UaDataTypeDictionary Class Referenceabstract

Interface for getting DataType information. More...

#include <uadatatypedefinition.h>

Inherited by NodeManagerUaNode, TypeDictionariesAccess, UaClientSdk::UaSession, and UaDataTypeDictionaryBase.

Public Types

enum  DefinitionType
 Enumeration that indicates the DataType definition type.
 

Public Member Functions

virtual DefinitionType definitionType (const UaNodeId &dataTypeId)=0
 Returns the DefinitionType for the specified data type. More...
 
DefinitionType definitionType (const UaVariant &vValue)
 Returns the UaDataTypeDictionary::DefinitionType of a variant. More...
 
DefinitionType definitionType (const UaExtensionObject &vValue)
 Returns the UaDataTypeDictionary::DefinitionType of an ExtensionObject. More...
 
virtual UaEnumDefinition enumDefinition (const UaNodeId &dataTypeId)=0
 Returns the UaEnumDefinition for the specified data type. More...
 
virtual UaOptionSetDefinition optionSetDefinition (const UaNodeId &dataTypeId)=0
 Returns the UaOptionSetDefinition for the specified data type. More...
 
virtual UaStructureDefinition structureDefinition (const UaNodeId &dataTypeId)=0
 Returns the UaStructureDefinition for the specified data type. More...
 
UaStructureDefinition structureDefinition (const UaVariant &vValue)
 Returns the UaStructureDefinition of a variant. More...
 
UaStructureDefinition structureDefinition (const UaExtensionObject &vValue)
 Returns the UaStructureDefinition of an ExtensionObject. More...
 
virtual UaSimpleDefinition simpleDefinition (const UaNodeId &dataTypeId)
 Returns the UaSimpleDefinition for a simple DataType. More...
 

Detailed Description

Interface for getting DataType information.

There are four main groups of OPC UA data types where this interface provides the necessary information for processing of the data types.

Simple data types are subtypes of built-in data types and are transported as the corresponding built-in data type.

Enumerations provide string representations of numeric values but the transport of the value is always done with the built-in data type Int32.

OptionSets are bit masks where the data type provides names for all valid bits in the bit mask. An OptionSet is either a sub-type of one of the UInteger built-in types (Byte, UInt16, UInt32, UInt64) or a sub-type of the OptionSet structure.

Structures are composed of an ordered list of fields where every field has a data type out or the four groups. Structures are transported in an ExtensionObject as byte blob (ByteString) and a type identifier.

Member Function Documentation

virtual DefinitionType UaDataTypeDictionary::definitionType ( const UaNodeId dataTypeId)
pure virtual
UaDataTypeDictionary::DefinitionType UaDataTypeDictionary::definitionType ( const UaVariant vValue)

Returns the UaDataTypeDictionary::DefinitionType of a variant.

Calls definitionType(const UaExtensionObject &vValue).

Parameters
vValueShall have type ExtensionObject.
Returns
If the type of the UaVariant is not ExtensionObject, UaDataTypeDictionary::DefinitionType_None is returned.
UaDataTypeDictionary::DefinitionType UaDataTypeDictionary::definitionType ( const UaExtensionObject vValue)

Returns the UaDataTypeDictionary::DefinitionType of an ExtensionObject.

Calls definitionType(const UaNodeId &dataTypeId).

Parameters
vValueIf the body type of the ExtensionObject is not Binary or XML, UaDataTypeDictionary::DefinitionType_None is returned.
virtual UaEnumDefinition UaDataTypeDictionary::enumDefinition ( const UaNodeId dataTypeId)
pure virtual

Returns the UaEnumDefinition for the specified data type.

Returns a null UaEnumDefinition if the data type is unknown or not an enumeration. Use UaEnumDefinition::isNull() to check for a null definition

Implemented in UaClientSdk::UaSession, NodeManagerUaNode, UaDataTypeDictionaryBase, and TypeDictionariesAccess.

virtual UaOptionSetDefinition UaDataTypeDictionary::optionSetDefinition ( const UaNodeId dataTypeId)
pure virtual

Returns the UaOptionSetDefinition for the specified data type.

Returns a null UaOptionSetDefinition if the data type is unknown or not an option set. Use UaOptionSetDefinition::isNull() to check for a null definition

Implemented in UaClientSdk::UaSession, NodeManagerUaNode, UaDataTypeDictionaryBase, and TypeDictionariesAccess.

UaSimpleDefinition UaDataTypeDictionary::simpleDefinition ( const UaNodeId dataTypeId)
virtual

Returns the UaSimpleDefinition for a simple DataType.

The default implementation returns a null UaSimpleDefinition. The support for UaSimpleDefinition depends on the implementation of the used DataTypeDictionary.

Parameters
dataTypeIdNodeId of the simple DataType.

Reimplemented in UaClientSdk::UaSession, and UaDataTypeDictionaryBase.

virtual UaStructureDefinition UaDataTypeDictionary::structureDefinition ( const UaNodeId dataTypeId)
pure virtual

Returns the UaStructureDefinition for the specified data type.

Returns a null UaStructureDefinition if the data type is unknown or not a structure. Use UaStructureDefinition::isNull() to check for a null definition

Is called by structureDefinition(const UaVariant &vValue) and structureDefinition(const UaExtensionObject &vValue).

Implemented in UaClientSdk::UaSession, NodeManagerUaNode, UaDataTypeDictionaryBase, and TypeDictionariesAccess.

UaStructureDefinition UaDataTypeDictionary::structureDefinition ( const UaVariant vValue)

Returns the UaStructureDefinition of a variant.

Calls structureDefinition(const UaExtensionObject &vValue).

Parameters
vValueIf the type of the UaVariant is not ExtensionObject, an empty definition is returned.
UaStructureDefinition UaDataTypeDictionary::structureDefinition ( const UaExtensionObject vValue)

Returns the UaStructureDefinition of an ExtensionObject.

Calls structureDefinition(const UaNodeId &dataTypeId).

Parameters
vValueIf the body type of the ExtensionObject is not Binary or XML, an empty definition is returned.

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