UaServerAddressSpace


Functions

OpcUa_StatusCode UaServer_AddNode (UaServer_AddressSpace *a_pAddressSpace, OpcUa_BaseNode *a_pNode)
 Add a new node to an address space table.
OpcUa_StatusCode UaServer_AddressSpace_Create (UaServer_AddressSpace **a_ppAddressSpace, OpcUa_UInt32 a_uRequestedAdressSpaceSize, pt2GetKeyFromValue fctPtr)
 Creates a new address space.
OpcUa_StatusCode UaServer_AddressSpace_Get (OpcUa_UInt32 a_iProviderIdx, UaServer_AddressSpace **a_ppAddressSpace)
 Returns the addressspace of a specific provider.
OpcUa_StatusCode UaServer_CreateNode (UaServer_AddressSpace *a_pAddressSpace, OpcUa_BaseNode **a_ppNewNode, OpcUa_Void *a_pOwner, OpcUa_NodeId *a_pNodeId, OpcUa_NodeClass a_eNodeClass, OpcUa_NodeId *a_pReferenceNodeId, OpcUa_NodeId *a_pTypeNodeId, OpcUa_StringA a_sBrowseName, OpcUa_StringA a_sDisplayName, OpcUa_StringA a_sDescription)
 Creates a new OPC UA Node in the address space.
OpcUa_StatusCode UaServer_CreateFolder (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Folder **a_ppNewFolder, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new folder in the addressspace.
OpcUa_StatusCode UaServer_CreateObject (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Object **a_ppNewObject, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new Object in the addressspace.
OpcUa_StatusCode UaServer_CreateObjectType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_ObjectType **a_ppNewObjectType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new ObjectType in the addressspace.
OpcUa_StatusCode UaServer_CreateProperty (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Property **a_ppNewProperty, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new Property in the addressspace.
OpcUa_StatusCode UaServer_CreateDataVariable (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataVariable **a_ppNewVariable, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new DataVariable in the addressspace.
OpcUa_StatusCode UaServer_CreateVariableType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_VariableType **a_ppNewVariableType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new VariableType in the addressspace.
OpcUa_StatusCode UaServer_CreateReference (UaServer_AddressSpace *a_pAddressSpace, OpcUa_ReferenceType **a_ppNewType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new Reference in the addressspace.
OpcUa_StatusCode UaServer_CreateDataType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataType **a_ppNewDataType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNamespaceIndex, OpcUa_StringA a_sName)
 Creates a new DataType node in the addressspace.
OpcUa_StatusCode UaServer_AddressSpace_InitializeServerAddressSpace (UaServer_AddressSpace **a_ppServerAddressSpace, OpcUa_BaseNode *a_pNode)
 Initializes the created addressspace.
OpcUa_Void UaServer_AddressSpace_Clear (UaServer_AddressSpace **a_ppServerAddressSpace)
 Clears the created addressspace.
OpcUa_BaseNode * UaServer_GetNode (UaServer_AddressSpace *pAddressSpace, OpcUa_NodeId *pNodeId)
 Get the Node where to pin on a new Node.
OpcUa_StatusCode UaServer_CreateDataVariableS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataVariable **a_ppNewVariable, OpcUa_Void *a_pOwner, OpcUa_StringA a_sId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a new DataVariableS in the addressspace.
OpcUa_StatusCode UaServer_CreatePropertyS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Property **a_ppNewProperty, OpcUa_Void *a_pOwner, OpcUa_StringA a_sId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a new PropertyS in the addressspace.
OpcUa_StatusCode UaServer_CreateFolderS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Folder **a_ppNewFolder, OpcUa_Void *a_pOwner, OpcUa_StringA a_sId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a new FolderS in the addressspace.
OpcUa_StatusCode UaServer_CreateObjectS (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Object **a_ppNewObject, OpcUa_Void *a_pOwner, OpcUa_StringA a_sId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a new ObjectS in the addressspace.
char * UaServer_GetKeyFromOpcUaNode (OpcUa_Void *a_pValue)
 Get the key from the actual node.

Variables

OpcUa_StringA g_UaServer_sServer []
 Server.
OpcUa_StringA g_UaServer_sProfiles []
 Profiles.
OpcUa_StringA g_UaServer_sLocalIds []
 Locales.
OpcUa_UInt32 g_UaServer_uIdTypes []
 Types.

Function Documentation

OpcUa_StatusCode UaServer_AddNode ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_BaseNode *  a_pNode 
)

Add a new node to an address space table.

Parameters:
a_pAddressSpace The.handle to the address space.
a_pNode The node to add.
Returns:
the OPC UA Status code.

OpcUa_Void UaServer_AddressSpace_Clear ( UaServer_AddressSpace **  a_ppServerAddressSpace  ) 

Clears the created addressspace.

Parameters:
a_pUaServer the server where to clean up the addressspace.

OpcUa_StatusCode UaServer_AddressSpace_Create ( UaServer_AddressSpace **  a_ppAddressSpace,
OpcUa_UInt32  a_uRequestedAdressSpaceSize,
pt2GetKeyFromValue  fctPtr 
)

Creates a new address space.

Parameters:
a_ppAddressSpace Returns a handle to the newly created address space.
a_uRequestedAdressSpaceSize Size of the address space. This is actually the size of the hashtable used to lookup the nodes. This should be greater than the number of nodes to store.
fctPtr Pointer to key lookup function. This hashtable stores only pointers to the objects, not the key which was hashed. This hashtable uses this function to lookup the key based on the object pointer. This can easily be achieved by storing the key in the object itself. The hash table needs this function to handle hash collisions.
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_AddressSpace_Get ( OpcUa_UInt32  a_iProviderIdx,
UaServer_AddressSpace **  a_ppAddressSpace 
)

Returns the addressspace of a specific provider.

Parameters:
a_iProviderIdx Provider index to lookup.
a_ppAddressSpace Returns the handle to the address space.
Returns:
the OPC UA Status code.

OPCUA_BEGIN_EXTERN_C OpcUa_StatusCode UaServer_AddressSpace_InitializeServerAddressSpace ( UaServer_AddressSpace **  a_ppServerAddressSpace,
OpcUa_BaseNode *  a_pNode 
)

Initializes the created addressspace.

Parameters:
a_pUaServer the server where to initialize the new addressspace.
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateDataType ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_DataType **  a_ppNewDataType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new DataType node in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewDataType the DataType to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateDataVariable ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_DataVariable **  a_ppNewVariable,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new DataVariable in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewVariable the variable to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateDataVariableS ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_DataVariable **  a_ppNewVariable,
OpcUa_Void *  a_pOwner,
OpcUa_StringA  a_sId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a new DataVariableS in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewVariable the variable to create.
a_pOwner the actual owner of the node/folder/property ...
a_sId the id of the actual node/folder/property ...
a_iNSIdx the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateFolder ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Folder **  a_ppNewFolder,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new folder in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewFolder the folder to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateFolderS ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Folder **  a_ppNewFolder,
OpcUa_Void *  a_pOwner,
OpcUa_StringA  a_sId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a new FolderS in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewFolder the folder to create.
a_pOwner the actual owner of the node/folder/property ...
a_sId the id of the actual node/folder/property ...
a_iNSIdx the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateNode ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_BaseNode **  a_ppNewNode,
OpcUa_Void *  a_pOwner,
OpcUa_NodeId *  a_pNodeId,
OpcUa_NodeClass  a_eNodeClass,
OpcUa_NodeId *  a_pReferenceNodeId,
OpcUa_NodeId *  a_pTypeNodeId,
OpcUa_StringA  a_sBrowseName,
OpcUa_StringA  a_sDisplayName,
OpcUa_StringA  a_sDescription 
)

Creates a new OPC UA Node in the address space.

Parameters:
a_pAddressSpace Handle to the address space.
a_ppNewNode Returns the pointer to the newly created node.
a_pOwner Pointer to the node that owns the new node.
a_pNodeId Pointer to NodeId of the new node.
a_eNodeClass Specificies the nodeclass of the new node.
a_pReferenceNodeId Specifies the reference type that should be created between owner and the new node.
a_pTypeNodeId Specififies the typeId of the new node. This creates a HasTypeDefinition reference from the new node to the type node.
a_sBrowseName The browse name of the new node.
a_sDisplayName The display name of the new node.
a_sDescription The description of the new node.
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateObject ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Object **  a_ppNewObject,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new Object in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewObject the object to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateObjectS ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Object **  a_ppNewObject,
OpcUa_Void *  a_pOwner,
OpcUa_StringA  a_sId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a new ObjectS in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewObject the object to create.
a_pOwner the actual owner of the node/folder/property ...
a_sId the id of the actual node/folder/property ...
a_iNSIdx the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateObjectType ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_ObjectType **  a_ppNewObjectType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new ObjectType in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewObjectTape the ObjectType to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateProperty ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Property **  a_ppNewProperty,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new Property in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewProperty the property to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreatePropertyS ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Property **  a_ppNewProperty,
OpcUa_Void *  a_pOwner,
OpcUa_StringA  a_sId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a new PropertyS in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewProperty the property to create.
a_pOwner the actual owner of the node/folder/property ...
a_sId the id of the actual node/folder/property ...
a_iNSIdx the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateReference ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_ReferenceType **  a_ppNewType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new Reference in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewType the reference to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

OpcUa_StatusCode UaServer_CreateVariableType ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_VariableType **  a_ppNewVariableType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNamespaceIndex,
OpcUa_StringA  a_sName 
)

Creates a new VariableType in the addressspace.

Parameters:
a_pProvider the provider where to add something.
a_ppNewVariable the variable to create.
a_pOwner the actual owner of the node/folder/property ...
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
a_sName the name of the actual node/folder/property ...
Returns:
the OPC UA Status code.

char * UaServer_GetKeyFromOpcUaNode ( OpcUa_Void *  a_pValue  ) 

Get the key from the actual node.

Parameters:
a_pValue the value of the actual node.
Returns:
the key of a node as chars.

OpcUa_BaseNode * UaServer_GetNode ( UaServer_AddressSpace *  pAddressSpace,
OpcUa_NodeId *  pNodeId 
)

Get the Node where to pin on a new Node.

Parameters:
a_iId the id of the actual node/folder/property ...
a_iNamespaceIndex the NamespaceIndex of the actual node/folder/property ...
Returns:
the base node.