C++ Based OPC UA Client/Server/PubSub SDK
1.7.3.505
|
Generated base class for a DataTypeEncodingType. More...
#include <opcua_datatypeencodingtypebase.h>
Inherits OpcUa::BaseObjectType.
Inherited by OpcUa::DataTypeEncodingType.
Public Member Functions | |
DataTypeEncodingTypeBase (const UaNodeId &nodeId, UaObject *pInstanceDeclarationObject, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex=NULL) | |
Constructs an DataTypeEncodingType object using an instance declaration node as base. | |
DataTypeEncodingTypeBase (const UaNodeId &nodeId, const UaString &name, OpcUa_UInt16 browseNameNameSpaceIndex, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex=NULL) | |
Constructs an DataTypeEncodingType object. | |
DataTypeEncodingTypeBase (UaBase::Object *pBaseNode, XmlUaNodeFactoryManager *pFactory, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex=NULL) | |
Constructs an instance of the class DataTypeEncodingTypeBase with all components. More... | |
virtual UaNodeId | typeDefinitionId () const |
Returns the type definition NodeId for the DataTypeEncodingType. | |
virtual void | useAccessInfoFromType () |
Applys the NodeAccessInfo set at the DataTypeEncodingTypeBase and its children. More... | |
void | useAccessInfoFromInstance (DataTypeEncodingTypeBase *pInstance) |
Uses the NodeAccessInfo of pOther and its children. More... | |
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... | |
UaReferenceLists * | getUaReferenceLists () 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... | |
UaNode * | getUaNode () const |
Get the UaNode interface pointer of this node. More... | |
virtual OpcUa_Byte | eventNotifier () const |
Returns the EventNotifier for the BaseObjectType. More... | |
virtual MethodManager * | getMethodManager (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 UserDataBase * | getUserData () 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, NodeAccessInfo *pDefaultPermissions, OpcUa_Boolean checkWriteMask) |
Sets the value of an attribute of the Node. More... | |
virtual UaStatus | beginCall (MethodManagerCallback *pCallback, const ServiceContext &serviceContext, OpcUa_UInt32 callbackHandle, MethodHandle *pMethodHandle, const UaVariantArray &inputArguments) |
Implementation of the MethodManager interface method beginCall. | |
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. | |
Public Member Functions inherited from MethodManager | |
MethodManager () | |
construction | |
virtual | ~MethodManager () |
destruction | |
Public Member Functions inherited from UaObject | |
UaObject (UaMutexRefCounted *pSharedMutex=NULL) | |
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, NodeAccessInfo *pDefaultPermissions, UaDataValue &uaDataValue) |
Gets the value of an attribute of the Node. More... | |
Public Member Functions inherited from UaNode | |
UaNode (UaMutexRefCounted *pSharedMutex=NULL) | |
Construction of the UaNode. More... | |
virtual UaNodeId | getKey () const |
Get the key of the node used for the hash table. More... | |
virtual NodeAccessInfo * | getAccessInfo () const |
Returns the access info for this node. More... | |
virtual bool | hasAccessInfo () const |
Check if this UaNode has a NodeAccessInfo assigned. More... | |
virtual void | useAccessInfoFrom (const UaNode *pOther) |
Set the NodeAccessInfo from another node to this node. More... | |
virtual void | setAccessInfo (NodeAccessInfo *pAccessInfo) |
Set the NodeAccessInfo for this node. More... | |
virtual void | attachAccessInfo (NodeAccessInfo *pAccessInfo) |
Set the NodeAccessInfo for this node. More... | |
Public Member Functions inherited from ChainEntry | |
ChainEntry () | |
construction | |
ChainEntry * | find (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... | |
ChainEntry * | remove (const UaNodeId &key, ChainEntry **ppNext) |
removes an entry from the list. More... | |
ChainEntry * | getNext () const |
Check if there is a chain. More... | |
virtual void | setInvalid () |
Set the entry to invalid. More... | |
void | clearChain () |
Clear the chain when the hashtable is cleared. | |
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 UaReference * | pTargetNodes () const |
Returns the list of references to target nodes. More... | |
virtual const UaReference * | pSourceNodes () const |
Returns the list of references to source nodes. More... | |
virtual UaNode * | getTargetNodeByBrowseName (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... | |
Static Public Member Functions | |
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. | |
Protected Member Functions | |
virtual | ~DataTypeEncodingTypeBase () |
Destruction. | |
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 | |
Protected Member Functions inherited from UaReferenceLists | |
virtual UaStatus | collectAllChildrenRecursive (NodeManagerConfig *pNodeManagerConfig, NodesToDeleteCollection &nodesToDeleteCollection) |
Collect a list of all child nodes. More... | |
Additional Inherited Members | |
Protected Attributes inherited from UaReferenceLists | |
UaReference * | m_pTargetNodes |
List of references to target nodes where this node is the source node. More... | |
UaReference * | m_pLastTargetNode |
Last references in the list of references to the target nodes. More... | |
UaReference * | m_pSourceNodes |
List of references to source nodes where this node is the target node. More... | |
Generated base class for a DataTypeEncodingType.
This class contains the generated base code for the object type DataTypeEncodingType representing an OPC UA ObjectType. This class is used to create the object type and to create and represent instances of the object type in the server address space.
Used as type for DataTypeEncodings.
Different kinds of DataTypes are handled differently regarding their encoding and whether this encoding is represented in the AddressSpace.
Built-in DataTypes are a fixed set of DataTypes (see Part 6 of the OPC UA Specification for a complete list of Built-in DataTypes). They have no encodings visible in the AddressSpace since the encoding should be known to all OPC UA products. Examples of Built-in DataTypes are Int32 and Double.
Simple DataTypes are subtypes of the Built-in DataTypes. They are handled on the wire like the Built-in DataType, i.e. they cannot be distinguished on the wire from their Built-in supertypes. Since they are handled like Built-in DataTypes regarding the encoding they cannot have encodings defined in the AddressSpace. Clients can read the DataType Attribute of a Variable or VariableType to identify the Simple DataType of the Value Attribute. An example of a Simple DataType is Duration. It is handled on the wire as a Double but the Client can read the DataType Attribute and thus interpret the value as defined by Duration.
Structured DataTypes are DataTypes that represent structured data and are not defined as Built-in DataTypes. Structured DataTypes inherit directly or indirectly from the DataType Structure. Structured DataTypes may have several encodings and the encodings are exposed in the AddressSpace. How the encoding of Structured DataTypes is handled on the wire is defined in Part 6 of the OPC UA Specification. The encoding of the Structured DataType is transmitted with each value, thus Clients are aware of the DataType without reading the DataType Attribute. The encoding has to be transmitted so the Client is able to interpret the data. An example of a Structured DataType is Argument.
Enumeration DataTypes are DataTypes that represent discrete sets of named values. Enumerations are always encoded as Int32 on the wire as defined in Part 6 of the OPC UA Specification. Enumeration DataTypes inherit directly or indirectly from the DataType Enumeration. Enumerations have no encodings exposed in the AddressSpace. To expose the human-readable representation of an enumerated value the DataType Node may have the EnumStrings Property that contains an array of LocalizedText. The Integer representation of the enumeration value points to a position within that array. The EnumValues Property can be used instead of the EnumStrings to support integer representation of enumerations that are not zero-based or have gaps. It contains an array of a Structured DataType containing the integer representation as well as the human-readable representation. An example of an enumeration DataType containing a sparse list of Integers is NodeClass.
In addition to the DataTypes described above, abstract DataTypes are also supported, which do not have any encodings and cannot be exchanged on the wire. Variables and VariableTypes use abstract DataTypes to indicate that their Value may be any one of the subtypes of the abstract DataType. An example of an abstract DataType is Integer.
See also DataTypeEncodingType for a documentation of the complete Information Model.
OpcUa::DataTypeEncodingTypeBase::DataTypeEncodingTypeBase | ( | UaBase::Object * | pBaseNode, |
XmlUaNodeFactoryManager * | pFactory, | ||
NodeManagerConfig * | pNodeConfig, | ||
UaMutexRefCounted * | pSharedMutex = NULL |
||
) |
Constructs an instance of the class DataTypeEncodingTypeBase with all components.
[in] | pBaseNode | The "tree" of nodes that specifies the attributes of the instance and its children |
[in] | pFactory | The factory to create the children |
[in] | pNodeConfig | Interface pointer to the NodeManagerConfig interface used to add and delete node and references in the address space |
[in] | pSharedMutex | Shared mutex object used to synchronize access to the variable. Can be NULL if no shared mutex is provided |
void OpcUa::DataTypeEncodingTypeBase::useAccessInfoFromInstance | ( | DataTypeEncodingTypeBase * | pOther | ) |
Uses the NodeAccessInfo of pOther and its children.
|
virtual |
Applys the NodeAccessInfo set at the DataTypeEncodingTypeBase and its children.
Reimplemented from OpcUa::BaseObjectType.