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

Abstract factory for creating Variables or Objects for a type namespace. More...

#include <instancefactory.h>

Inherited by OpcUaDi::InstanceFactoryDevices, OpcUaPlc::InstanceFactoryPLCopen, XmlUaNodeFactoryNamespace0, and XmlUaNodeFactoryNamespace0PubSub.

Public Member Functions

 XmlUaNodeFactoryNamespace (OpcUa_UInt16 namespaceIndex)
 Creates a XmlUaNodeFactoryNamespace object with the assigned namespace index for the factory.
 
 XmlUaNodeFactoryNamespace (const UaString &namespaceUri)
 Creates a XmlUaNodeFactoryNamespace object with the namespace URI for the factory. More...
 
OpcUa_UInt16 namespaceIndex () const
 Returns the namespace index for the factory.
 
virtual
OpcUa::BaseVariableTypeGeneric
createGenericVariable (UaBase::Variable *pVariable, XmlUaNodeFactoryManager *pFactory, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex)
 Creates a Variable and the children defined by pVariable. More...
 
virtual
OpcUa::BaseObjectTypeGeneric
createGenericObject (UaBase::Object *pObject, XmlUaNodeFactoryManager *pFactory, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex)
 Creates an Object and the children defined by pObject. More...
 
virtual OpcUa::BaseMethodcreateGenericMethod (UaBase::Method *pMethod, XmlUaNodeFactoryManager *pFactory, NodeManagerConfig *pNodeConfig, UaMutexRefCounted *pSharedMutex)
 Creates a Method and the children defined by pMethod. More...
 
virtual void createType (const UaNodeId &typeId) const
 Empty default implementation.
 

Detailed Description

Abstract factory for creating Variables or Objects for a type namespace.

This interface is used to create instances of Objects and Variables where generated C++ classes exist for the corresponding ObjectTypes and VariableTypes. The generated code for these namespaces contains the corresponding factory class for this namespace.

This class provides an interface for creating UaNodes and its children depending on UaBase::BaseNodes and for adding the new nodes to a NodeManagerConfig. The TypeDefinition of the UaBase::BaseNode can be used to create an instance of a toolkit class.

Subtypes of this class are used by XmlUaNodeFactoryManager.

Constructor & Destructor Documentation

XmlUaNodeFactoryNamespace::XmlUaNodeFactoryNamespace ( const UaString namespaceUri)

Creates a XmlUaNodeFactoryNamespace object with the namespace URI for the factory.

The URI will be used during server start-up to get the corresponding namespace index

Member Function Documentation

OpcUa::BaseMethod * XmlUaNodeFactoryNamespace::createGenericMethod ( UaBase::Method pMethod,
XmlUaNodeFactoryManager pFactory,
NodeManagerConfig pNodeConfig,
UaMutexRefCounted pSharedMutex 
)
virtual

Creates a Method and the children defined by pMethod.

Parameters
pMethodThe temporary data representation of the method to create.
pFactoryThe XmlUaNodeFactoryManager to create the children.
pNodeConfigIf pNodeConfig can be casted to NodeManagerNodeSetXml, the callback NodeManagerNodeSetXml::variableCreated is called for each child.
pSharedMutexAn optional mutex that is used across different variables.
OpcUa::BaseObjectTypeGeneric * XmlUaNodeFactoryNamespace::createGenericObject ( UaBase::Object pObject,
XmlUaNodeFactoryManager pFactory,
NodeManagerConfig pNodeConfig,
UaMutexRefCounted pSharedMutex 
)
virtual

Creates an Object and the children defined by pObject.

Parameters
pObjectThe temporary data representation of the object to create.
pFactoryThe XmlUaNodeFactoryManager to create the children.
pNodeConfigIf pNodeConfig can be casted to NodeManagerNodeSetXml, one of the callbacks of NodeManagerNodeSetXml is called for each child.
pSharedMutexAn optional mutex that is used across different variables.
OpcUa::BaseVariableTypeGeneric * XmlUaNodeFactoryNamespace::createGenericVariable ( UaBase::Variable pVariable,
XmlUaNodeFactoryManager pFactory,
NodeManagerConfig pNodeConfig,
UaMutexRefCounted pSharedMutex 
)
virtual

Creates a Variable and the children defined by pVariable.

Parameters
pVariableThe temporary data representation of the variable to create.
pFactoryThe XmlUaNodeFactoryManager to create the children and the default value of this variable.
pNodeConfigIf pNodeConfig can be casted to NodeManagerNodeSetXml, the callback NodeManagerNodeSetXml::variableCreated is called for each child.
pSharedMutexAn optional mutex that is used across different variables.

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