Opc.Ua.Server.DiagnosticsNodeManager.OnMonitoringModeChanged C# (CSharp) 메소드

OnMonitoringModeChanged() 보호된 메소드

Called after changing the MonitoringMode for a MonitoredItem.
protected OnMonitoringModeChanged ( ServerSystemContext context, NodeHandle handle, MonitoredItem monitoredItem, MonitoringMode previousMode, MonitoringMode monitoringMode ) : void
context ServerSystemContext The context.
handle NodeHandle The handle for the node.
monitoredItem MonitoredItem The monitored item.
previousMode MonitoringMode The previous monitoring mode.
monitoringMode MonitoringMode The current monitoring mode.
리턴 void
        protected override void OnMonitoringModeChanged(
            ServerSystemContext context,
            NodeHandle handle,
            MonitoredItem monitoredItem,
            MonitoringMode previousMode,
            MonitoringMode monitoringMode)
        {
            if (previousMode != MonitoringMode.Disabled)
            {
                m_diagnosticsMonitoringCount--;
            }

            if (monitoringMode != MonitoringMode.Disabled)
            {
                m_diagnosticsMonitoringCount++;
            }
                
            if (m_diagnosticsMonitoringCount == 0 && m_diagnosticsScanTimer != null)
            {
                if (m_diagnosticsScanTimer != null)
                {
                    m_diagnosticsScanTimer.Dispose();
                    m_diagnosticsScanTimer = null;
                }
            }
            else
            {
                if (m_diagnosticsScanTimer != null)
                {
                    m_diagnosticsScanTimer = new Timer(DoScan, null, 1000, 1000);
                }
            }
        }
        #endregion