ANSI C Based OPC UA Client/Server/PubSub SDK  1.9.4.474
UaServerContinuationPoint

Functions

UaServer_ContinuationPointInfo * UaServer_ContinuationPointInfo_Create (UaServer_ContinuationPointType a_Type)
 Create new ContinuationPointInfo. More...
 
OpcUa_StatusCode UaServer_ContinuationPointInfo_Delete (UaServer_ContinuationPointInfo *a_pContinuationPointInfo)
 Delete the ContinuationPointInfo. More...
 
OpcUa_StatusCode UaServer_ContinuationPointInfo_InitCPData (UaServer_ContinuationPointInfo *a_pContinuationPointInfo, UaServer_PublicSession *a_pSession)
 Set the ContinuationPoint data of the ContinuationPointInfo. More...
 
OpcUa_StatusCode UaServer_ContinuationPointInfo_AddToList (UaServer_ContinuationPointInfo *a_pContinuationPointInfo, UaServer_PublicSession *a_pSession)
 Add the ContinuationPointInfo to the session's list. More...
 
OpcUa_StatusCode UaServer_ContinuationPointInfo_RemoveFromList (UaServer_ContinuationPointInfo *a_pContinuationPointInfo, UaServer_PublicSession *a_pSession)
 Remove the ContinuationPointInfo from the session's list. More...
 
UaServer_ContinuationPointHistoryInfo * UaServer_ContinuationPointHistoryInfo_Create (void)
 Create new ContinuationPointHistoryInfo. More...
 
OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_Delete (UaServer_ContinuationPointHistoryInfo *a_pContinuationPointHistoryInfo)
 Delete the ContinuationPointHistoryInfo. More...
 
OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_InitCPData (UaServer_ContinuationPointHistoryInfo *a_pContinuationPointHistoryInfo)
 Set the ContinuationPoint data of the ContinuationPointHistoryInfo. More...
 
OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_AddToList (UaServer_ContinuationPointHistoryInfo *a_pContinuationPointHistoryInfo, UaServer_PublicSession *a_pSession)
 Add the ContinuationPointHistoryInfo to the session's list. More...
 
OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_RemoveFromList (UaServer_ContinuationPointHistoryInfo *a_pContinuationPointHistoryInfo, UaServer_PublicSession *a_pSession)
 Remove the ContinuationPointHistoryInfo from the session's list. More...
 

Detailed Description

For providers only using the OpcUa_BaseNodes of the SDK there is no need to use any of the functions described in this module. All necessary work is done by the SDK, the provider only needs to call UaServer_BrowseInternal in its BrowseAsync implementation.

For providers implementing BrowseAsync themselves without using the SDK's UaServer_BrowseInternal helper function, it will get necessary to create ContinuationPoints. Following code example describes how to create ContinuationPoints inside a provider:

// Do the browsing, fill the results, check if a ContinuationPoint has to be created
UaServer_ContinuationPointInfo *pCPInfo = OpcUa_Null;
// Check if a ContinuationPointInfo already exists
if (a_pBrowseCtx->pContinuationPointInfo == OpcUa_Null)
{
// Create a new UaServer_ContinuationPointInfo of type ContinuationPointType_Browse
pCPInfo = UaServer_ContinuationPointInfo_Create(ContinuationPointType_Browse);
// Create the actual ContinuationPoint sent to the client
// Remember the BrowseCall for the BrowseNext call the client will issue
OpcUa_BrowseDescription_CopyTo(&pRequest->NodesToBrowse[a_iNodeIndex], (OpcUa_BrowseDescription*)pCPInfo->pDescription);
pCPInfo->RequestedMaxReferencesPerNode = pRequest->RequestedMaxReferencesPerNode;
// Add the ContinuationPointInfo to the Session's list of ContinuationPointInfos
uStatusTemp = UaServer_ContinuationPointInfo_AddToList(pCPInfo, (UaServer_PublicSession*)pBrowseContext->pSession);
if (OpcUa_IsBad(uStatusTemp))
{
pCPInfo = OpcUa_Null;
}
}
else
{
pCPInfo = a_pBrowseCtx->pContinuationPointInfo;
}
if (pCPInfo != OpcUa_Null)
{
// Set the offset for the next BrowseNext call
a_pBrowseCtx->pContinuationPointInfo->NextTargetIndex = nextTargetIndex;
// Set the actual ContinuationPoint in the browse response
OpcUa_ByteString_CopyTo(a_pBrowseCtx->pContinuationPointInfo->pContinuationPoint,
&pResponse->Results[a_iNodeIndex].ContinuationPoint);
}
else
{
// Error handling
}

Function Documentation

OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_AddToList ( UaServer_ContinuationPointHistoryInfo *  a_pContinuationPointHistoryInfo,
UaServer_PublicSession a_pSession 
)

Add the ContinuationPointHistoryInfo to the session's list.

Note
This function is thread-safe.
Parameters
a_pContinuationPointHistoryInfopointer to the ContinuationPointHistoryInfo.
a_pSessionpointer to the Session to add the ContinuationPointHistoryInfo to.
UaServer_ContinuationPointHistoryInfo* UaServer_ContinuationPointHistoryInfo_Create ( void  )

Create new ContinuationPointHistoryInfo.

Returns
the new ContinuationPointHistoryInfo
OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_Delete ( UaServer_ContinuationPointHistoryInfo *  a_pContinuationPointHistoryInfo)

Delete the ContinuationPointHistoryInfo.

Parameters
a_pContinuationPointHistoryInfopointer to the ContinuationPointHistoryInfo.
OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_InitCPData ( UaServer_ContinuationPointHistoryInfo *  a_pContinuationPointHistoryInfo)

Set the ContinuationPoint data of the ContinuationPointHistoryInfo.

Parameters
a_pContinuationPointHistoryInfopointer to the ContinuationPointHistoryInfo.
OpcUa_StatusCode UaServer_ContinuationPointHistoryInfo_RemoveFromList ( UaServer_ContinuationPointHistoryInfo *  a_pContinuationPointHistoryInfo,
UaServer_PublicSession a_pSession 
)

Remove the ContinuationPointHistoryInfo from the session's list.

Note
This function is thread-safe.
Parameters
a_pContinuationPointHistoryInfopointer to the ContinuationPointHistoryInfo.
a_pSessionpointer to the Session from which to remove the ContinuationPointHistoryInfo.
OpcUa_StatusCode UaServer_ContinuationPointInfo_AddToList ( UaServer_ContinuationPointInfo *  a_pContinuationPointInfo,
UaServer_PublicSession a_pSession 
)

Add the ContinuationPointInfo to the session's list.

Note
This function is thread-safe.
Parameters
a_pContinuationPointInfopointer to the ContinuationPointInfo.
a_pSessionpointer to the Session to add the ContinuationPointInfo to.
UaServer_ContinuationPointInfo* UaServer_ContinuationPointInfo_Create ( UaServer_ContinuationPointType  a_Type)

Create new ContinuationPointInfo.

Parameters
a_Typethe type of the new ContinuationPointInfo.
Returns
the new ContinuationPointInfo
OpcUa_StatusCode UaServer_ContinuationPointInfo_Delete ( UaServer_ContinuationPointInfo *  a_pContinuationPointInfo)

Delete the ContinuationPointInfo.

Parameters
a_pContinuationPointInfopointer to the ContinuationPointInfo.
OpcUa_StatusCode UaServer_ContinuationPointInfo_InitCPData ( UaServer_ContinuationPointInfo *  a_pContinuationPointInfo,
UaServer_PublicSession a_pSession 
)

Set the ContinuationPoint data of the ContinuationPointInfo.

Parameters
a_pContinuationPointInfopointer to the ContinuationPointInfo.
a_pSessionpointer to the Session to which the ContinuationPointInfo will be added.
OpcUa_StatusCode UaServer_ContinuationPointInfo_RemoveFromList ( UaServer_ContinuationPointInfo *  a_pContinuationPointInfo,
UaServer_PublicSession a_pSession 
)

Remove the ContinuationPointInfo from the session's list.

Note
This function is thread-safe.
Parameters
a_pContinuationPointInfopointer to the ContinuationPointInfo.
a_pSessionpointer to the Session from which to remove the ContinuationPointInfo.