#include <uaserver_config.h>
#include <opcua_statuscodes.h>
#include <uabase_p_atomic.h>
#include <uaserver_read.h>
#include <uaserver_basenode.h>
#include <uaserver_utilities.h>
#include "custom_provider_helper.h"
OPCUA_BEGIN_EXTERN_C
IFMETHODIMP(CustomProvider_ReadAsync)(UaServer_ProviderReadContext *a_pReadCtx)
{
OpcUa_Int32 i;
OpcUa_BaseNode *pNode;
OpcUa_InitializeStatus(OpcUa_Module_Server, "CustomProvider_ReadAsync");
OpcUa_ReturnErrorIfArgumentNull(a_pReadCtx);
pReq = a_pReadCtx->pRequest;
pRes = a_pReadCtx->pResponse;
for (i = 0; i < pReq->NoOfNodesToRead; i++)
{
{
if (pNode)
{
if ( (a_pReadCtx->pRequest->NodesToRead[i].AttributeId == OpcUa_Attributes_Value &&
OpcUa_BaseNode_GetType(pNode) == eVariable &&
{
continue;
}
if ( (a_pReadCtx->pRequest->NodesToRead[i].AttributeId == OpcUa_Attributes_Value &&
a_pReadCtx->pSession->UserIdentityData)) ||
(a_pReadCtx->pRequest->NodesToRead[i].AttributeId != OpcUa_Attributes_Value &&
a_pReadCtx->pSession->UserIdentityData)))
{
continue;
}
}
else
{
}
}
}
OpcUa_ReturnStatusCode;
OpcUa_BeginErrorHandling;
OpcUa_FinishErrorHandling;
}
OPCUA_END_EXTERN_C