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;
string moduleTypeName = (string)inputArguments[0];
string instanceName = (string)inputArguments[1];
string instanceLabel = (string)inputArguments[2];
NodeId instanceNodeId = (NodeId)outputArguments[0];
object serviceError = (object)outputArguments[1];
if (OnCall != null)
{
result = OnCall(
context,
this,
objectId,
moduleTypeName,
instanceName,
instanceLabel,
ref instanceNodeId,
ref serviceError);
}
outputArguments[0] = instanceNodeId;
outputArguments[1] = serviceError;
return result;
}