void ReceiveStream(object sender, MTConnect.RealTimeEventArgs args) { // InvokeRequired required compares the thread ID of the // calling thread to the thread ID of the creating thread. // If these threads are different, it returns true. if (this.connectButton.InvokeRequired) { ReceiveStreamCallback d = new ReceiveStreamCallback(ReceiveStream); this.Invoke(d, new object[] { sender, args }); } else { var doc = XDocument.Parse(args.document); var reader = doc.CreateReader(); var root = doc.Root; var nameMgr = new XmlNamespaceManager(reader.NameTable); nameMgr.AddNamespace("m", root.Name.Namespace.NamespaceName); HandleDocument(root, nameMgr); } }
public void SendRealTimeEvent(string document) { RealTimeEventArgs args = new RealTimeEventArgs(document); RealTimeEvent(this, args); }