/// <summary> /// Prompts the user to create a new subscription. /// </summary> internal void CreateSubscription() { OpcDa.SubscriptionState subscription; SubscriptionTreeNodeSession node; using (SubscriptionCreateDlg dial = new SubscriptionCreateDlg()) { dial.ShowDialog(Tag, DefaultBrowseFilters, m_SupportedLocales, this); if (dial.DialogResult != DialogResult.OK) { return; } subscription = dial.State; if (subscription == null) { return; } node = new SubscriptionTreeNodeSession(subscription, dial.GetItems, this); if (!string.IsNullOrEmpty(dial.Locale)) { node.Locale = dial.Locale; } node.Filter = dial.Filter; } if (Tag.IsConnected) { node.Subscribe(); } }
public SubscriptionItems(SubscriptionTreeNodeSession node) { foreach (TagTreeNode item in node.Nodes) { myChildren.Add((Guid)item.Tag.ClientHandle, item.Tag); } srcItems = new OpcDa.Item[myChildren.Count]; for (int ii = 0; ii < srcItems.Length; ii++) { srcItems[ii] = myChildren.Values[ii].GetItem; myChildren.Values[ii].Invalidate(); } }