UaServerProviders


Data Structures

struct  _UaServer_MonitoredItem
 A Monitored Item Structure. More...
struct  _UaServer_ProviderBrowseContext
 UaServer Provider BrowseContext Structure. More...
struct  _UaServer_ProviderTranslateContext
 UaServer Provider TranslateContext Structure. More...
struct  _UaServer_ProviderRegisterNodesContext
 UaServer Provider RegisterNodes Context Structure. More...
struct  _UaServer_ProviderUnregisterNodesContext
 UaServer Provider UnregisterNodes Context Structure. More...
struct  _UaServer_ProviderReadContext
 UaServer Provider ReadContext Structure. More...
struct  _UaServer_ProviderWriteContext
 UaServer Provider WriteContext Structure. More...
struct  _UaServer_ProviderHistoryReadContext
 UaServer Provider HistoryReadContext Structure. More...
struct  _UaServer_ProviderHistoryUpdateContext
 UaServer Provider HistoryUpdateContext Structure. More...
struct  _UaServer_ProviderCallContext
 UaServer Provider Call Context Structure. More...
struct  _UaServer_ProviderSubscribeContext
 UaServer Provider SubscribeContext Structure. More...
struct  _UaServer_pProviderCBInterface
 Interface table for server functions. More...
struct  _UaServer_pProviderInterface
 Provider interface table. More...
struct  _UaServer_Provider
 The internal provider management structure. More...
struct  _UaServer_ServerProviderInterface
 Provider interface table. More...

Typedefs

typedef OpcUa_StatusCode(* ServiceEndFunctionPtr )(OpcUa_StatusCode a_uStatusCode, void *pServiceContext)
 ToDoDoc.
typedef OpcUa_StatusCode(OPCUA_DLLCALL * UaServer_pfInitializeProvider )(struct _UaServer_Provider *pProvider, UaServer_pProviderCBInterface *pProviderCBInterface, UaServer_pProviderInterface *pProviderInterface)
 Initialize function.

Functions

IFMETHODIMP() UaServer_Providers_ReadComplete (UaServer_ProviderReadContext *a_pReadContext)
 Reads a complete context.
IFMETHODIMP() UaServer_Providers_WriteComplete (UaServer_ProviderWriteContext *a_pWriteContext)
 Indicates if the write routine is complete.
IFMETHODIMP() UaServer_Providers_BrowseComplete (UaServer_ProviderBrowseContext *a_pBrowseContext)
 Browse a complete context.
IFMETHODIMP() UaServer_Providers_TranslateComplete (UaServer_ProviderTranslateContext *a_pTranslateContext)
 Translate a complete context.
IFMETHODIMP() UaServer_Providers_RegisterNodesComplete (UaServer_ProviderRegisterNodesContext *a_pRegisterNodesContext)
 Register a complete context.
IFMETHODIMP() UaServer_Providers_UnregisterNodesComplete (UaServer_ProviderUnregisterNodesContext *a_pUnregisterNodesContext)
 Unregister.
IFMETHODIMP() UaServer_Providers_SubscribeComplete (UaServer_ProviderSubscribeContext *a_pSubscribeContext)
 A callback function which indicates if a subscribe was completed.
IFMETHODIMP() UaServer_Providers_ItemChanged (UaServer_MonitoredItem *a_pItem)
 Informs if an item has changed.
IFMETHODIMP() UaServer_Providers_RegisterAddressSpace (OpcUa_Handle a_hProvider, OpcUa_UInt16 *a_puNamespaceIndex, OpcUa_StringA a_sNamespaceUri, OpcUa_UInt32 a_uRequestedAdressSpaceSize)
 This function gets called from the provider during initalization to register its basenode.
IFMETHODIMP() UaServer_Providers_CreateProperty (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Property **a_ppNewProperty, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a property node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_CreateFolder (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Folder **a_ppNewFolder, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a folder node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_CreateObject (UaServer_AddressSpace *a_pAddressSpace, OpcUa_Object **a_ppNewObject, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a object node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_CreateObjectType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_ObjectType **a_ppNewObjectType, OpcUa_BaseNode *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a object node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_CreateDataVariable (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataVariable **a_ppNewVariable, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a datavariable node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_CreateVariableType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_VariableType **a_ppNewVariableType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a datavariable node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_CreateReference (UaServer_AddressSpace *a_pAddressSpace, OpcUa_ReferenceType **a_ppNewType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a reference node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_CreateDataType (UaServer_AddressSpace *a_pAddressSpace, OpcUa_DataType **a_ppNewDataType, OpcUa_Void *a_pOwner, OpcUa_UInt32 a_iId, OpcUa_UInt16 a_iNSIdx, OpcUa_StringA a_sName)
 Creates a DataType node with a numeric nodeid.
IFMETHODIMP() UaServer_Providers_GetNode (UaServer_AddressSpace *pAddressSpace, OpcUa_NodeId *pNodeId, OpcUa_BaseNode **ppNode)
 Returns a node identified by a numeric nodeid.
IFMETHODIMP() UaServer_Providers_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 property node with a string nodeid.
IFMETHODIMP() UaServer_Providers_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 folder node with a string nodeid.
IFMETHODIMP() UaServer_Providers_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 object node with a string nodeid.
IFMETHODIMP() UaServer_Providers_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 datavariable node with a string nodeid.
OpcUa_StatusCode UaServer_Providers_Initialize (UaServer *a_pServer)
 Build interface for providers and load and initialize all providers in the list.
OpcUa_StatusCode UaServer_Providers_Clear (UaServer *a_pServer)
 Unload all loaded providers.
IFMETHOD() RegisterAddressSpace (OpcUa_Handle, OpcUa_UInt16 *, OpcUa_StringA, OpcUa_UInt32)
 Provider register addressspace function.
IFMETHOD() GetNode (UaServer_AddressSpace *pAddressSpace, OpcUa_NodeId *pNodeId, OpcUa_BaseNode **ppNode)
 Provider get node function.
IFMETHOD() CreateNode (UaServer_AddressSpace *a_pAddressSpace, OpcUa_BaseNode **a_ppNewNode, OpcUa_Void *a_pOwner, OpcUa_NodeId *a_pNodeId, OpcUa_NodeClass a_eNodeClass, OpcUa_NodeId *a_pReferenceTypeNodeId, OpcUa_NodeId *a_pTypeNodeId, OpcUa_StringA a_sBrowseName, OpcUa_StringA a_sDisplayName, OpcUa_StringA a_sDescription)
 Provider create node function.
IFMETHOD() AddressSpace_Create (UaServer_AddressSpace **a_ppAddressSpace, OpcUa_UInt32 a_uRequestedAdressSpaceSize, pt2GetKeyFromValue fctPtr)
 Provider create addressspace function.
IFMETHOD() CreateProperty (UaServer_AddressSpace *, OpcUa_Property **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create property function.
IFMETHOD() CreateDataVariable (UaServer_AddressSpace *, OpcUa_DataVariable **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create data variable function.
IFMETHOD() CreateVariableType (UaServer_AddressSpace *, OpcUa_VariableType **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create variabletype function.
IFMETHOD() CreateFolder (UaServer_AddressSpace *, OpcUa_Folder **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create folder function.
IFMETHOD() CreateObject (UaServer_AddressSpace *, OpcUa_Object **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create object function.
IFMETHOD() CreateObjectType (UaServer_AddressSpace *, OpcUa_ObjectType **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create ObjectType function.
IFMETHOD() CreateReference (UaServer_AddressSpace *, OpcUa_ReferenceType **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create reference function.
IFMETHOD() CreateDataType (UaServer_AddressSpace *, OpcUa_DataType **, OpcUa_BaseNode *, OpcUa_UInt32, OpcUa_UInt16, OpcUa_StringA)
 Provider create DataType function.
IFMETHOD() CreatePropertyS (UaServer_AddressSpace *, OpcUa_Property **, OpcUa_BaseNode *, OpcUa_StringA, OpcUa_UInt16, OpcUa_StringA)
 Provider create propertyS function.
IFMETHOD() CreateDataVariableS (UaServer_AddressSpace *, OpcUa_DataVariable **, OpcUa_BaseNode *, OpcUa_StringA, OpcUa_UInt16, OpcUa_StringA)
 Provider create data variableS function.
IFMETHOD() CreateFolderS (UaServer_AddressSpace *, OpcUa_Folder **, OpcUa_BaseNode *, OpcUa_StringA, OpcUa_UInt16, OpcUa_StringA)
 Provider create folderS function.
IFMETHOD() CreateObjectS (UaServer_AddressSpace *, OpcUa_Object **, OpcUa_BaseNode *, OpcUa_StringA, OpcUa_UInt16, OpcUa_StringA)
 Provider create objectS function.
IFMETHOD() BrowseComplete (UaServer_ProviderBrowseContext *a_pBrowseContext)
 Provider browse complete function.
IFMETHOD() TranslateComplete (UaServer_ProviderTranslateContext *a_pTranslateContext)
 Provider translate complete function.
IFMETHOD() RegisterNodesComplete (UaServer_ProviderRegisterNodesContext *a_pRegisterNodesContext)
 Provider RegisterNodes complete function.
IFMETHOD() UnregisterNodesComplete (UaServer_ProviderUnregisterNodesContext *a_pUnregisterNodesContext)
 Provider UnregisterNodes complete function.
IFMETHOD() ReadComplete (UaServer_ProviderReadContext *a_pReadContext)
 Provider read complete function.
IFMETHOD() WriteComplete (UaServer_ProviderWriteContext *a_pWriteContext)
 Provider write complete function.
IFMETHOD() HistoryReadComplete (UaServer_ProviderHistoryReadContext *a_pHistoryReadContext)
 Provider history read complete function.
IFMETHOD() CallComplete (UaServer_ProviderCallContext *a_pCallContext)
 Provider call complete function.
IFMETHOD() SubscribeComplete (UaServer_ProviderSubscribeContext *a_pCtx)
 Provider subscribe complete function.
IFMETHOD() ItemChanged (UaServer_MonitoredItem *a_pItem)
 Provider item changed function.
IFMETHOD() Cleanup (OpcUa_Void)
 Provider cleanup function.
IFMETHOD() BrowseAsync (UaServer_ProviderBrowseContext *a_pBrowseContext)
 Provider browse function.
IFMETHOD() TranslateAsync (UaServer_ProviderTranslateContext *a_pTranslateContext)
 Provider translate function.
IFMETHOD() RegisterNodesAsync (UaServer_ProviderRegisterNodesContext *a_pRegisterContext)
 Provider RegisterNodes function.
IFMETHOD() UnregisterNodesAsync (UaServer_ProviderUnregisterNodesContext *a_pUnregisterContext)
 Provider UnregisterNodes function.
IFMETHOD() ReadAsync (UaServer_ProviderReadContext *a_pReadContext)
 Provider read function.
IFMETHOD() WriteAsync (UaServer_ProviderWriteContext *a_pWriteContext)
 Provider write function.
IFMETHOD() HistoryReadAsync (UaServer_ProviderHistoryReadContext *a_pHistoryReadContext)
 Provider HistroyRead function.
IFMETHOD() HistoryUpdateAsync (UaServer_ProviderHistoryUpdateContext *a_pHistoryUpdateContext)
 Provider HistoryUpdate function.
IFMETHOD() CallAsync (UaServer_ProviderCallContext *a_pCallContext)
 Provider Call function.
IFMETHOD() AddItem (UaServer_MonitoredItem *a_pItem)
 Provider add item function.
IFMETHOD() RemoveItem (UaServer_MonitoredItem *a_pItem)
 Provider remove item function.
IFMETHOD() Subscribe (UaServer_ProviderSubscribeContext *a_pContext)
 Provider subscribe function.
IFMETHOD() AddNamespace (OpcUa_StringA a_sNamespaceUri, OpcUa_UInt16 *a_piNamespaceIndex)
 a pointer to the function for adding namespaces.
IFMETHOD() GetNamespaceUris (OpcUa_StringA **a_ppsNamespaceUris)
 a pointer to the function for getting the namespace Uris.
IFMETHOD() InitializeExtension (UaServer_ServerProviderInterface *pExtension)
 ToDoDoc.

Variables

UaServer_pProviderCBInterface g_ProviderCBInterface
 Provider Callback Interface Structure.

Typedef Documentation

typedef OpcUa_StatusCode(OPCUA_DLLCALL * UaServer_pfInitializeProvider)(struct _UaServer_Provider *pProvider, UaServer_pProviderCBInterface *pProviderCBInterface, UaServer_pProviderInterface *pProviderInterface)

Initialize function.

This function initializes the provider interface and is called by the server.


Function Documentation

IFMETHOD() AddItem ( UaServer_MonitoredItem a_pItem  ) 

Provider add item function.

This function is called by the server to add new items. This function works synchronous.

IFMETHOD() AddNamespace ( OpcUa_StringA  a_sNamespaceUri,
OpcUa_UInt16 *  a_piNamespaceIndex 
)

a pointer to the function for adding namespaces.

IFMETHOD() BrowseAsync ( UaServer_ProviderBrowseContext a_pBrowseContext  ) 

Provider browse function.

This function is called by the server to browse the address space. This functions works asynchronous, this means the provider should start the browse operation and immediatly return. The browse result must be returned in the BrowseComplete callback using the _UaServer_pProviderCBInterface.

IFMETHOD() CallAsync ( UaServer_ProviderCallContext a_pCallContext  ) 

Provider Call function.

This function is called by the server to Call a method. This functions works asynchronous, this means the provider should start the Call operation and immediatly return. The Call result must be returned in the CallComplete callback using the _UaServer_pProviderCBInterface.

IFMETHOD() Cleanup ( OpcUa_Void   ) 

Provider cleanup function.

This function is called by the server before the provider is unloaded. The provider should cleanup all its resources when this function is called.

IFMETHOD() CreateDataType ( UaServer_AddressSpace *  ,
OpcUa_DataType **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create DataType function.

This function creates new DataType for the namespace of the Provider.

IFMETHOD() CreateDataVariable ( UaServer_AddressSpace *  ,
OpcUa_DataVariable **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create data variable function.

This function creates new DataVariables for the namespace of the Provider.

IFMETHOD() CreateDataVariableS ( UaServer_AddressSpace *  ,
OpcUa_DataVariable **  ,
OpcUa_BaseNode *  ,
OpcUa_StringA  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create data variableS function.

To create the DataVariableS this function has to be called.

IFMETHOD() CreateFolder ( UaServer_AddressSpace *  ,
OpcUa_Folder **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create folder function.

This function creates new Folder for the namespace of the Provider.

IFMETHOD() CreateFolderS ( UaServer_AddressSpace *  ,
OpcUa_Folder **  ,
OpcUa_BaseNode *  ,
OpcUa_StringA  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create folderS function.

To create the CreateFolderS this function has to be called.

IFMETHOD() CreateNode ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_BaseNode **  a_ppNewNode,
OpcUa_Void *  a_pOwner,
OpcUa_NodeId *  a_pNodeId,
OpcUa_NodeClass  a_eNodeClass,
OpcUa_NodeId *  a_pReferenceTypeNodeId,
OpcUa_NodeId *  a_pTypeNodeId,
OpcUa_StringA  a_sBrowseName,
OpcUa_StringA  a_sDisplayName,
OpcUa_StringA  a_sDescription 
)

Provider create node function.

To create the node this function has to be called.

IFMETHOD() CreateObject ( UaServer_AddressSpace *  ,
OpcUa_Object **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create object function.

This function creates new Objects for the namespace of the Provider.

IFMETHOD() CreateObjectS ( UaServer_AddressSpace *  ,
OpcUa_Object **  ,
OpcUa_BaseNode *  ,
OpcUa_StringA  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create objectS function.

To create the CreateObjectS this function has to be called.

IFMETHOD() CreateObjectType ( UaServer_AddressSpace *  ,
OpcUa_ObjectType **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create ObjectType function.

This function creates new ObjectsTypes for the namespace of the Provider.

IFMETHOD() CreateProperty ( UaServer_AddressSpace *  ,
OpcUa_Property **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create property function.

This function creates new Propertys for the namespace of the Provider.

IFMETHOD() CreatePropertyS ( UaServer_AddressSpace *  ,
OpcUa_Property **  ,
OpcUa_BaseNode *  ,
OpcUa_StringA  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create propertyS function.

To get the PropertyS out of the addressspace this function has to be called.

IFMETHOD() CreateReference ( UaServer_AddressSpace *  ,
OpcUa_ReferenceType **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create reference function.

This function creates new References for the namespace of the Provider.

IFMETHOD() CreateVariableType ( UaServer_AddressSpace *  ,
OpcUa_VariableType **  ,
OpcUa_BaseNode *  ,
OpcUa_UInt32  ,
OpcUa_UInt16  ,
OpcUa_StringA   
)

Provider create variabletype function.

This function creates new DataVariables for the namespace of the Provider.

IFMETHOD() GetNamespaceUris ( OpcUa_StringA **  a_ppsNamespaceUris  ) 

a pointer to the function for getting the namespace Uris.

IFMETHOD() GetNode ( UaServer_AddressSpace *  pAddressSpace,
OpcUa_NodeId *  pNodeId,
OpcUa_BaseNode **  ppNode 
)

Provider get node function.

To get the Node out of the addressspace this function has to be called.

IFMETHOD() HistoryReadAsync ( UaServer_ProviderHistoryReadContext a_pHistoryReadContext  ) 

Provider HistroyRead function.

This function is called by the server to historyread IO data. This functions works asynchronous, this means the provider should start the read operation and immediatly return. The historyread result must be returned in the HistoryReadComplete callback using the _UaServer_pProviderCBInterface.

IFMETHOD() HistoryUpdateAsync ( UaServer_ProviderHistoryUpdateContext a_pHistoryUpdateContext  ) 

Provider HistoryUpdate function.

This function is called by the server to HistoryUpdate IO data. This functions works asynchronous, this means the provider should start the read operation and immediatly return. The HistoryUpdate result must be returned in the HistoryUpdateComplete callback using the _UaServer_pProviderCBInterface.

IFMETHOD() ReadAsync ( UaServer_ProviderReadContext a_pReadContext  ) 

Provider read function.

This function is called by the server to read IO data. This functions works asynchronous, this means the provider should start the read operation and immediatly return. The read result must be returned in the ReadComplete callback using the _UaServer_pProviderCBInterface.

IFMETHOD() RegisterAddressSpace ( OpcUa_Handle  ,
OpcUa_UInt16 *  ,
OpcUa_StringA  ,
OpcUa_UInt32   
)

Provider register addressspace function.

This function gets called from the provider during initalization to register its basenode.

IFMETHOD() RegisterNodesAsync ( UaServer_ProviderRegisterNodesContext a_pRegisterContext  ) 

Provider RegisterNodes function.

This function is called by the server to RegisterNodes. This functions works asynchronous, this means the provider should start the RegisterNodes operation and immediatly return. The translate result must be returned in the RegisterNodesComplete callback using the _UaServer_pProviderCBInterface.

IFMETHOD() RemoveItem ( UaServer_MonitoredItem a_pItem  ) 

Provider remove item function.

This function is called by the server to remove items. This function works synchronous. If this function is called all denoted items will be removed.

IFMETHOD() Subscribe ( UaServer_ProviderSubscribeContext a_pContext  ) 

Provider subscribe function.

This function is called by the server to subscribe. This function works synchronous.

IFMETHOD() TranslateAsync ( UaServer_ProviderTranslateContext a_pTranslateContext  ) 

Provider translate function.

This function is called by the server to translate browse paths to node ids. This functions works asynchronous, this means the provider should start the translate operation and immediatly return. The translate result must be returned in the TranslateComplete callback using the _UaServer_pProviderCBInterface.

IFMETHODIMP() UaServer_Providers_BrowseComplete ( UaServer_ProviderBrowseContext a_pBrowseContext  ) 

Browse a complete context.

Parameters:
a_pBrowseContext the needed BrowseContext.
Returns:
only good if successful.

OpcUa_StatusCode UaServer_Providers_Clear ( UaServer a_pServer  ) 

Unload all loaded providers.

Parameters:
a_pServer a pointer to the server.
Returns:
the OPC UA Status code.

IFMETHODIMP() UaServer_Providers_CreateDataType ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_DataType **  a_ppNewDataType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a DataType node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewDataType a pointer to the new created DataType.
a_pOwner a pointer to the actual owner.
a_iId the Id of the actual DataType.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the created DataType.
Returns:
a DataType node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_CreateDataVariable ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_DataVariable **  a_ppNewVariable,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a datavariable node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewVariable a pointer to the new created Variable.
a_pOwner a pointer to the actual owner.
a_iId the Id of the actual Variable.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the created Variable.
Returns:
a datavariable node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_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 datavariable node with a string nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewVariable a pointer to the new created VariableS.
a_pOwner a pointer to the actual owner.
a_sId the Id of the new VariableS
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the new VariableS.
Returns:
a datavariable node with a string nodeid.

IFMETHODIMP() UaServer_Providers_CreateFolder ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Folder **  a_ppNewFolder,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a folder node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewFolder a pointer to the new created folder.
a_pOwner a pointer to the actual owner.
a_iId the Id of the Folder.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the created folder.
Returns:
a folder node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_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 folder node with a string nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewFolder a pointer to the new FolderS.
a_pOwner a pointer to the actual owner.
a_sId the Id of the created FolderS.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the new FolderS.
Returns:
a folder node with a string nodeid.

IFMETHODIMP() UaServer_Providers_CreateObject ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Object **  a_ppNewObject,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a object node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewObject a pointer to the created Object.
a_pOwner a pointer to the actual owner.
a_iId the Id of the Object.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the new Object.
Returns:
a object node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_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 object node with a string nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewObject a pointer to the new ObjectS.
a_pOwner a pointer to the actual owner.
a_sId the Id of the new ObjectS.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the new ObjectS.
Returns:
a object node with a string nodeid.

IFMETHODIMP() UaServer_Providers_CreateObjectType ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_ObjectType **  a_ppNewObjectType,
OpcUa_BaseNode *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a object node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewObject a pointer to the created Object.
a_pOwner a pointer to the actual owner.
a_iId the Id of the Object.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the new Object.
Returns:
a object node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_CreateProperty ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_Property **  a_ppNewProperty,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a property node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewProperty the new Property to create.
a_pOwner a pointer to the actual owner.
a_iId the Id of the Property.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the Property.
Returns:
a property node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_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 property node with a string nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewProperty a pointer to the created PropertyS.
a_pOwner a pointer to the actual owner.
a_sId the Id of the created Propertys.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the new PropertyS.
Returns:
a property node with a string nodeid.

IFMETHODIMP() UaServer_Providers_CreateReference ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_ReferenceType **  a_ppNewType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a reference node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewType a pointer to the new created Reference.
a_pOwner a pointer to the actual owner.
a_iId the Id of the actual Reference.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the created Reference.
Returns:
a reference node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_CreateVariableType ( UaServer_AddressSpace *  a_pAddressSpace,
OpcUa_VariableType **  a_ppNewVariableType,
OpcUa_Void *  a_pOwner,
OpcUa_UInt32  a_iId,
OpcUa_UInt16  a_iNSIdx,
OpcUa_StringA  a_sName 
)

Creates a datavariable node with a numeric nodeid.

Parameters:
a_hContext General context containing information like the session object.
a_ppNewVariable a pointer to the new created Variable.
a_pOwner a pointer to the actual owner.
a_iId the Id of the actual Variable.
a_iNSIdx the actual NamespaceIndex.
a_sName the name of the created Variable.
Returns:
a datavariable node with a numeric nodeid.

IFMETHODIMP() UaServer_Providers_GetNode ( UaServer_AddressSpace *  pAddressSpace,
OpcUa_NodeId *  pNodeId,
OpcUa_BaseNode **  ppNode 
)

Returns a node identified by a numeric nodeid.

Parameters:
a_iId the Id of the Node.
a_iNamespaceIndex the actual NamespaceIndex.
ppNode a pointer to the actual Node.
Returns:
a node identified by a numeric nodeid.

OpcUa_StatusCode UaServer_Providers_Initialize ( UaServer a_pServer  ) 

Build interface for providers and load and initialize all providers in the list.

Parameters:
a_pServer a pointer to the server.
Returns:
the OPC UA Status code.

IFMETHODIMP() UaServer_Providers_ItemChanged ( UaServer_MonitoredItem a_pItem  ) 

Informs if an item has changed.

Parameters:
a_pItem the item which has changed.
Returns:
the changed item.

IFMETHODIMP() UaServer_Providers_ReadComplete ( UaServer_ProviderReadContext a_pReadContext  ) 

Reads a complete context.

Parameters:
a_pReadContext the needed ReadContext.
Returns:
only good if successful.

IFMETHODIMP() UaServer_Providers_RegisterAddressSpace ( OpcUa_Handle  a_hProvider,
OpcUa_UInt16 *  a_puNamespaceIndex,
OpcUa_StringA  a_sNamespaceUri,
OpcUa_UInt32  a_uRequestedAdressSpaceSize 
)

This function gets called from the provider during initalization to register its basenode.

Parameters:
a_hProvider a handle to the Provider with all needed information.
a_puNamespaceIndex the actual NamespaceIndex.
a_sNamespaceUri the actual NamespaceUri.
a_uRequestedAdressSpaceSize the size for the addressspace that is requested.
Returns:
Error code.

IFMETHODIMP() UaServer_Providers_RegisterNodesComplete ( UaServer_ProviderRegisterNodesContext a_pRegisterNodesContext  ) 

Register a complete context.

Parameters:
a_pTranslateContext the needed TranslateContext.
Returns:
only good if successful.

IFMETHODIMP() UaServer_Providers_SubscribeComplete ( UaServer_ProviderSubscribeContext a_pCtx  ) 

A callback function which indicates if a subscribe was completed.

Parameters:
a_pCtx a pointer to the provider subscription context.
Returns:
only good if successful.

IFMETHODIMP() UaServer_Providers_TranslateComplete ( UaServer_ProviderTranslateContext a_pTranslateContext  ) 

Translate a complete context.

Parameters:
a_pTranslateContext the needed TranslateContext.
Returns:
only good if successful.

IFMETHODIMP() UaServer_Providers_UnregisterNodesComplete ( UaServer_ProviderUnregisterNodesContext a_pUnregisterNodesContext  ) 

Unregister.

Parameters:
a_pTranslateContext the needed TranslateContext.
Returns:
only good if successful.

IFMETHODIMP() UaServer_Providers_WriteComplete ( UaServer_ProviderWriteContext a_pWriteContext  ) 

Indicates if the write routine is complete.

Parameters:
a_pWriteContext a pointer to the WriteContext.
Returns:
only good if successful.

IFMETHOD() UnregisterNodesAsync ( UaServer_ProviderUnregisterNodesContext a_pUnregisterContext  ) 

Provider UnregisterNodes function.

This function is called by the server to UnregisterNodes. This functions works asynchronous, this means the provider should start the UnregisterNodes operation and immediatly return. The UnregisterNodes result must be returned in the UnregisterNodesComplete callback using the _UaServer_pProviderCBInterface.

IFMETHOD() WriteAsync ( UaServer_ProviderWriteContext a_pWriteContext  ) 

Provider write function.

This function is called by the server to write IO data. This functions works asynchronous, this means the provider should start the write operation and immediatly return. The write result must be returned in the WriteComplete callback using the _UaServer_pProviderCBInterface.