internal void SetCreateResult(
MonitoredItemCreateRequest request,
MonitoredItemCreateResult result,
ServiceResult error)
{
if (request == null) throw new ArgumentNullException("request");
if (result == null) throw new ArgumentNullException("result");
m_nodeId = request.ItemToMonitor.NodeId;
m_attributeId = request.ItemToMonitor.AttributeId;
m_indexRange = request.ItemToMonitor.IndexRange;
m_encoding = request.ItemToMonitor.DataEncoding;
m_monitoringMode = request.MonitoringMode;
m_clientHandle = request.RequestedParameters.ClientHandle;
m_samplingInterval = request.RequestedParameters.SamplingInterval;
m_queueSize = request.RequestedParameters.QueueSize;
m_discardOldest = request.RequestedParameters.DiscardOldest;
m_filter = null;
m_error = error;
if (request.RequestedParameters.Filter != null)
{
m_filter = Utils.Clone(request.RequestedParameters.Filter.Body) as MonitoringFilter;
}
if (ServiceResult.IsGood(error))
{
m_id = result.MonitoredItemId;
m_samplingInterval = result.RevisedSamplingInterval;
m_queueSize = result.RevisedQueueSize;
}
}