#include <uaserver_config.h>
#include <opcua_statuscodes.h>
#include <uaserver_browse.h>
#include <uaserver_translate.h>
#include <uaserver_basenode.h>
#include <uaserver_utilities.h>
#include <uaserver_p_atomic.h>
#include "custom_provider_helper.h"
OPCUA_BEGIN_EXTERN_C
{
OpcUa_BrowseRequest *pReq;
OpcUa_BrowseResponse *pRes;
OpcUa_Int32 i;
OpcUa_BaseNode *pNode;
OpcUa_NodeId *pNodeId = OpcUa_Null;
OpcUa_InitializeStatus(OpcUa_Module_Server, "CustomProvider_BrowseAsync");
OpcUa_ReturnErrorIfArgumentNull(a_pBrowseCtx);
pReq = a_pBrowseCtx->pRequest;
pRes = a_pBrowseCtx->pResponse;
for (i = 0; i < pReq->NoOfNodesToBrowse; i++)
{
if (pReq->NodesToBrowse[i].NodeId.NamespaceIndex == g_uCustomProvider_NamespaceIndex)
{
pNodeId = &(pReq->NodesToBrowse[i].NodeId);
if (pNode != OpcUa_Null)
{
{
pRes->Results[i].StatusCode = OpcUa_BadNotReadable;
continue;
}
}
else
{
pRes->Results[i].StatusCode = OpcUa_BadNodeIdUnknown;
}
}
}
OpcUa_ReturnStatusCode;
OpcUa_BeginErrorHandling;
OpcUa_FinishErrorHandling;
}
{
OpcUa_UInt32 iNoOfStartingNodes, i;
OpcUa_NodeId *pStartingNode = OpcUa_Null;
for (i = 0; i < iNoOfStartingNodes; i++)
{
if (pNodeAddressSpace == &g_pCustomProvider->AddressSpace)
{
}
}
return OpcUa_Good;
}
OPCUA_END_EXTERN_C