C++ Based OPC UA Client/Server/PubSub SDK
1.7.6.537
|
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::BaseMethod * | createGenericMethod (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. | |
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.
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
|
virtual |
Creates a Method and the children defined by pMethod.
pMethod | The temporary data representation of the method to create. |
pFactory | The XmlUaNodeFactoryManager to create the children. |
pNodeConfig | If pNodeConfig can be casted to NodeManagerNodeSetXml, the callback NodeManagerNodeSetXml::variableCreated is called for each child. |
pSharedMutex | An optional mutex that is used across different variables. |
|
virtual |
Creates an Object and the children defined by pObject.
pObject | The temporary data representation of the object to create. |
pFactory | The XmlUaNodeFactoryManager to create the children. |
pNodeConfig | If pNodeConfig can be casted to NodeManagerNodeSetXml, one of the callbacks of NodeManagerNodeSetXml is called for each child. |
pSharedMutex | An optional mutex that is used across different variables. |
|
virtual |
Creates a Variable and the children defined by pVariable.
pVariable | The temporary data representation of the variable to create. |
pFactory | The XmlUaNodeFactoryManager to create the children and the default value of this variable. |
pNodeConfig | If pNodeConfig can be casted to NodeManagerNodeSetXml, the callback NodeManagerNodeSetXml::variableCreated is called for each child. |
pSharedMutex | An optional mutex that is used across different variables. |