/// <summary> /// Initializes a new instance of the <see cref="AuditEventForm"/> class. /// </summary> /// <param name="session">The session.</param> /// <param name="subscription">The subscription.</param> public AuditEventForm(Session session, Subscription subscription) { InitializeComponent(); m_session = session; m_subscription = subscription; // a table used to track event types. m_eventTypeMappings = new Dictionary<NodeId, NodeId>(); // the filter to use. m_filter = new FilterDefinition(); m_filter.AreaId = ObjectIds.Server; m_filter.Severity = EventSeverity.Min; m_filter.IgnoreSuppressedOrShelved = true; m_filter.EventTypes = new NodeId[] { ObjectTypeIds.AuditUpdateMethodEventType }; // find the fields of interest. m_filter.SelectClauses = m_filter.ConstructSelectClauses(m_session, ObjectTypeIds.AuditUpdateMethodEventType); // declate callback. m_MonitoredItem_Notification = new MonitoredItemNotificationEventHandler(MonitoredItem_Notification); // create a monitored item based on the current filter settings. m_monitoredItem = m_filter.CreateMonitoredItem(m_session); // set up callback for notifications. m_monitoredItem.Notification += m_MonitoredItem_Notification; m_subscription.AddItem(m_monitoredItem); m_subscription.ApplyChanges(); }
/// <summary> /// Creates a form which uses the specified client configuration. /// </summary> /// <param name="configuration">The configuration to use.</param> public MainForm(ApplicationConfiguration configuration) { InitializeComponent(); this.Icon = ClientUtils.GetAppIcon(); ConnectServerCTRL.Configuration = m_configuration = configuration; ConnectServerCTRL.ServerUrl = "opc.tcp://localhost:62544/Quickstarts/AlarmConditionServer"; this.Text = m_configuration.ApplicationName; // a table used to track event types. m_eventTypeMappings = new Dictionary<NodeId, NodeId>(); // the filter to use. m_filter = new FilterDefinition(); m_filter.AreaId = ObjectIds.Server; m_filter.Severity = EventSeverity.Min; m_filter.IgnoreSuppressedOrShelved = true; m_filter.EventTypes = new NodeId[] { ObjectTypeIds.ConditionType }; // declate callback. m_MonitoredItem_Notification = new MonitoredItemNotificationEventHandler(MonitoredItem_Notification); // initialize controls. Conditions_Severity_AllMI.Checked = true; Conditions_Severity_AllMI.Tag = EventSeverity.Min; Conditions_Severity_LowMI.Tag = EventSeverity.Low; Conditions_Severity_MediumMI.Tag = EventSeverity.Medium; Conditions_Severity_HighMI.Tag = EventSeverity.High; Condition_Type_AllMI.Checked = true; Condition_Type_DialogsMI.Checked = false; Condition_Type_AlarmsMI.Checked = false; Condition_Type_LimitAlarmsMI.Checked = false; Condition_Type_DiscreteAlarmsMI.Checked = false; }