protected override ServiceResult Call(
ISystemContext context,
NodeId objectId,
IList<object> inputArguments,
IList<object> outputArguments)
{
if (OnCall == null)
{
return base.Call(context, objectId, inputArguments, outputArguments);
}
ServiceResult result = null;
byte[] communicationRelationId = (byte[])inputArguments[0];
string oPERATION = (string)inputArguments[1];
string blockTag = (string)inputArguments[2];
uint iNDEX = (uint)inputArguments[3];
uint sUB_INDEX = (uint)inputArguments[4];
byte[] writeData = (byte[])inputArguments[5];
uint serviceId = (uint)inputArguments[6];
byte[] readData = (byte[])outputArguments[0];
uint delayForNextCall = (uint)outputArguments[1];
object serviceError = (object)outputArguments[2];
if (OnCall != null)
{
result = OnCall(
context,
this,
objectId,
communicationRelationId,
oPERATION,
blockTag,
iNDEX,
sUB_INDEX,
writeData,
serviceId,
ref readData,
ref delayForNextCall,
ref serviceError);
}
outputArguments[0] = readData;
outputArguments[1] = delayForNextCall;
outputArguments[2] = serviceError;
return result;
}