private void OnMessageReceived(object sender, XDMessageEventArgs e) { if (MessageReceived != null) { MessageReceived(sender, e); } }
/// <summary> /// Handles messages received from other machines on the network and dispatches them locally. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnMessageReceived(object sender, XDMessageEventArgs e) { // network message is of format machine:channel:message if (e.DataGram.IsValid) { using (DataGram machineInfo = DataGram.ExpandFromRaw(e.DataGram.Message)) { if (machineInfo.IsValid) { // don't relay if the message was broadcast on this machine if (machineInfo.Channel != Environment.MachineName) { using (DataGram dataGram = DataGram.ExpandFromRaw(machineInfo.Message)) { if (dataGram.IsValid) { // propagate the message on this machine using the same mode as the sender nativeBroadcast.SendToChannel(dataGram.Channel, dataGram.Message); } } } } } } }
private void Sink_MessageReceived(object sender, XDMessageEventArgs e) { // MessageReceived is called in the context of SendMessage() of the other process. // We leave the current callstack to let SendMessage() return. // Otherwise ExplorerAdapter's COM throws a RPC_E_CANTCALLOUT_ININPUTSYNCCALL error. synchronizationContext.Post(arg => OnMessage((XDMessageEventArgs)arg), e); }
private void Listener_MessageReceived(object sender, XDMessageEventArgs e) { if (e.DataGram.Message == "reconnect") { LogAndMessage.Log(MessageType.Info, "Reconencting..."); //manuallyDisconnected = true; //if (controller.IsIbConnected) controller.Disconnect(); controller.Connect(false); } }
private void Sink_MessageReceived(object sender, XDMessageEventArgs e) { if (e.DataGram.Channel == "ExplorerObserverCommand") { if (e.DataGram.Message == "shutdown") { Debug.WriteLine("Shutdown command received."); Shutdown(); } } }
static void Listener_MessageReceived(object sender, XDMessageEventArgs e) { if (e.DataGram.Channel != channel) { return; } try { ProcessCommand(e.DataGram.Message); } catch { } }
private void OnNetworkMessageReceived(object sender, XDMessageEventArgs e) { if (disposed || !e.DataGram.IsValid) { return; } TypedDataGram <NetworkRelayMessage> dataGram = e.DataGram; if (dataGram != null && dataGram.IsValid && dataGram.Message.MachineName != Environment.MachineName) { // rebroadcast locally Task.Factory.StartNew( () => nativeBroadcast.SendToChannel(dataGram.Message.Channel, dataGram.Message.Message)); } }
/// <summary> /// The delegate which processes all cross AppDomain messages and writes them to screen. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnMessageReceived(object sender, XDMessageEventArgs e) { // If called from a seperate thread, rejoin so that be can update form elements. if (InvokeRequired && !IsDisposed) { try { // onClosing messages may fail if the form is being disposed. Invoke((MethodInvoker) delegate() { UpdateDisplayText(e.DataGram); }); } catch (ObjectDisposedException) { } } else { UpdateDisplayText(e.DataGram); } }
private void OnMessage(XDMessageEventArgs msg) { if (msg.DataGram.Channel == "SelectionOfExplorerWindowChanged") { if (int.TryParse(msg.DataGram.Message, out int hwndInteger)) { IntPtr hwnd = new IntPtr(hwndInteger); ExplorerSelectionChanged?.Invoke(this, new ExplorerMonitorEventArgs(hwnd)); } } else if (msg.DataGram.Channel == "ExplorerWindowGotFocus") { if (int.TryParse(msg.DataGram.Message, out int hwndInteger)) { IntPtr hwnd = new IntPtr(hwndInteger); ExplorerWindowGotFocus?.Invoke(this, new ExplorerMonitorEventArgs(hwnd)); } } }
/// <summary> /// The delegate which processes all cross AppDomain messages and writes them to screen. /// </summary> /// <param name = "sender"></param> /// <param name = "e"></param> private void OnMessageReceived(object sender, XDMessageEventArgs e) { // If called from a seperate thread, rejoin so that be can update form elements. if (InvokeRequired && !IsDisposed) { try { // onClosing messages may fail if the form is being disposed. Invoke((MethodInvoker)(() => OnMessageReceived(sender, e))); } catch (ObjectDisposedException) { } catch (InvalidOperationException) { } } else { switch (e.DataGram.Channel.ToLower()) { case "status": // pain text UpdateDisplayText(e.DataGram.Channel, e.DataGram.Message); break; default: // all other channels contain serialized FormattedUserMessage object if (e.DataGram.AssemblyQualifiedName == typeof(FormattedUserMessage).AssemblyQualifiedName) { TypedDataGram <FormattedUserMessage> typedDataGram = e.DataGram; UpdateDisplayText(typedDataGram.Channel, typedDataGram.Message.FormattedTextMessage); } else { throw new NotSupportedException(string.Format("Unknown message type: {0}", e.DataGram.AssemblyQualifiedName)); } break; } } }
/// <summary> /// Handle the MessageReceived event and trace the message to standard debug. /// </summary> /// <param name = "sender"></param> /// <param name = "e"></param> private void OnMessageReceived(object sender, XDMessageEventArgs e) { // view these debug messages using SysInternals Dbgview. if (e.DataGram.AssemblyQualifiedName != typeof(FormattedUserMessage).AssemblyQualifiedName) { throw new NotSupportedException(string.Format("Unknown message type: {0}", e.DataGram.AssemblyQualifiedName)); } TypedDataGram <FormattedUserMessage> dataGram = e.DataGram; Debug.WriteLine("Test Service: " + e.DataGram.Channel + " " + dataGram.Message); if (dataGram.Message.FormattedTextMessage.EndsWith("STOP")) { broadcast.SendToChannel("Status", "Stopping trace"); isTraceEnabled = false; } else if (dataGram.Message.FormattedTextMessage.EndsWith("START")) { broadcast.SendToChannel("Status", "Starting trace"); isTraceEnabled = true; } }
private void OnMessageReceived(object sender, XDMessageEventArgs e) { if (InvokeRequired && !IsDisposed) { try { Invoke((MethodInvoker)(() => OnMessageReceived(sender, e))); } catch (ObjectDisposedException) { } catch (InvalidOperationException) { } } else { switch (e.DataGram.Channel.ToLower()) { case "status": UpdateDisplayText(e.DataGram.Channel, e.DataGram.Message); break; default: if (e.DataGram.AssemblyQualifiedName == typeof(FormattedUserMessage).AssemblyQualifiedName) { TypedDataGram <FormattedUserMessage> typedDataGram = e.DataGram; UpdateDisplayText(typedDataGram.Channel, typedDataGram.Message.FormattedTextMessage); } else { throw new NotSupportedException(string.Format("Unknown message type: {0}", e.DataGram.AssemblyQualifiedName)); } break; } } }
void listener_MessageReceived(object sender, XDMessageEventArgs e) { Application.DoEvents(); string commandLine = e.DataGram.Message; // Debug.WriteLine(DateTime.Now + " " + commandLine); string[] fileList = commandLine.Split('\t'); if (fileList.Length == 1) { string oneFile = fileList[0]; if (File.Exists(oneFile)) { m_Image.PicScan(oneFile, false, 0); m_Image.PicLoadPos(oneFile, true); recentItem1.AddRecentItem(oneFile); } ShowMe(); } else // list of files { m_Image.ProcessDrop(fileList, false); ShowMe(); } }
private void listener_MessageReceived(object sender, XDMessageEventArgs e) { CommDatagram dtg = CommDatagram.ParseDatagram(e.DataGram); if (dtg.SenderId == myID) { return; } switch (dtg.MessageType) { case MessageType.GetInstance: //if (!String.IsNullOrEmpty(this.CurrentLogFileName)) SendMessage(dtg.SenderId, MessageType.ReturnInstance, new LogViewerInstance(myID, this.CurrentLogFileName, this.AppLastActivation, this.MainWindowHandle).GetTextMessage()); break; case MessageType.ReturnInstance: this.otherInstances.Add(new LogViewerInstance(dtg.Data)); break; case MessageType.GoToDateTime: OnGoToItemRequest(DateTime.ParseExact(dtg.Data, CommDateFormat, CultureInfo.InvariantCulture)); break; case MessageType.ReturnCurrentLogFileName: OnAnotherInstanceOpenedLogFile(dtg.Data); break; case MessageType.ProcessAppArgs: OnProcessAppArgs(dtg.Data.Split('|')); break; default: throw new NotImplementedException(String.Format("Message type: '{0}' is not supported.", dtg.MessageType)); } }
private void OnMessageReceived(object sender, XDMessageEventArgs e) { try { esTracePacket entry = new esTracePacket(); string[] fields = e.DataGram.Message.Split('±'); if (fields[0].Length > 0) { entry.TransactionId = Convert.ToInt32(fields[0]); } if (fields[1].Length > 0) { entry.ObjectType = fields[1]; } entry.CallStack = fields[2]; entry.ApplicationName = fields[3]; entry.TraceChannel = fields[4]; entry.ThreadId = Convert.ToInt32(fields[5]); entry.Sql = fields[6]; entry.Duration = Convert.ToInt64(fields[7]); entry.Ticks = Convert.ToInt64(fields[8]); entry.PacketOrder = Convert.ToInt64(fields[9]); entry.Action = fields[10]; entry.Syntax = fields[11]; entry.Exception = fields[12]; if (fields[13].Length > 0) { // Parse Parameters string[] parameters = fields[13].Split('«'); esParameter param = null; for (int i = 0; i < parameters.Length; i += 5) { if (param == null) { param = new esParameter(); } param.Name = parameters[i]; param.Direction = parameters[i + 1]; param.ParamType = parameters[i + 2]; if (parameters[i + 3] != "null") { param.BeforeValue = parameters[i + 3]; } if (parameters[i + 4] != "null") { param.AfterValue = parameters[i + 4]; } entry.SqlParameters.Add(param); param = null; } } switch (entry.TraceChannel) { case Channels.Channel_1: AddEntryToList(channel_1, entry); break; case Channels.Channel_2: AddEntryToList(channel_2, entry); break; case Channels.Channel_3: AddEntryToList(channel_3, entry); break; case Channels.Channel_4: AddEntryToList(channel_4, entry); break; case Channels.Channel_5: AddEntryToList(channel_5, entry); break; case Channels.Channel_6: AddEntryToList(channel_6, entry); break; case Channels.Channel_7: AddEntryToList(channel_7, entry); break; case Channels.Channel_8: AddEntryToList(channel_8, entry); break; case Channels.Channel_9: AddEntryToList(channel_9, entry); break; case Channels.Channel_10: AddEntryToList(channel_10, entry); break; } } catch { } }
/// <summary> /// Handle the MessageReceived event and trace the message to standard debug. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void OnMessageReceived(object sender, XDMessageEventArgs e) { // view these debug messages using SysInternals Dbgview. Debug.WriteLine("Test Service: " + e.DataGram.Channel + " " + e.DataGram.Message); }
/// <summary> /// The delegate which processes all cross AppDomain messages and writes them to screen. /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private static void OnMessageReceived(object sender, XDMessageEventArgs e) { if (e.DataGram.Message.IndexOf(START_EVENT, StringComparison.Ordinal) > 0 & LastActive) { SendMessage(DoNotDoAnythingMsg); } if (handle != 0) // this instance of imp has a working window { var handleIndex = e.DataGram.Message.IndexOf(handleText, StringComparison.Ordinal); if (handleIndex != 0) // if this is the handle, then the message came from this instance { lastMsg = e.DataGram.Message; if (e.DataGram.Message.IndexOf(START_EVENT, StringComparison.Ordinal) > 0 & LastActive) { Debug.WriteLine("donot sent"); SendMessage(DoNotDoAnythingMsg); } else if (e.DataGram.Message.IndexOf(CMD_LINES, StringComparison.Ordinal) > 0 & LastActive) { var i = 0; var j = 0; do { i = lastMsg.IndexOf(NAME_SEPARATOR); j = lastMsg.IndexOf(NAME_SEPARATOR, i + 1, StringComparison.Ordinal); if (i < 0) { break; // no more separators found } if (j < i) { j = lastMsg.Length; } List.Add(lastMsg.Substring(i + 1, j - i - 1)); if (j == lastMsg.Length) { break; // this was the last command, exit } lastMsg = lastMsg.Substring(j); } while (true); imp.Dispatcher.BeginInvoke(DispatcherPriority.Normal, new UpdateFiles(imp.OpenFileLinesFromMessaging)); } else if (e.DataGram.Message.IndexOf(MAKE_ACTIVE, StringComparison.Ordinal) > 0) { Debug.WriteLine("LastActive False"); LastActive = false; } } } else // this instance of imp doesn't yet have a working window { if (e.DataGram.Message.Substring(0, 2) != "0 ") { lastMsg = DoNotDoAnythingMsg; } } }
private void MessageReceived(object sender, XDMessageEventArgs args) { waitForMessage = false; }
private void OnMessageReceived(object sender, XDMessageEventArgs e) { #if PROFILER_TRIAL if (++mod % 1000 == 0) { Licensing license = new Licensing(); string id = license.getUniqueID("C"); int result = licensing.ValidateLicense("trial", "b69e3783-9f56-47a7-82e0-6eee6d0779bf", System.Environment.MachineName, id, version, proxySettings); if (1 != result) { result = licensing.RegisterLicense("trial", "b69e3783-9f56-47a7-82e0-6eee6d0779bf", System.Environment.MachineName, id, version, proxySettings); } if (result != 1) { listener.UnRegisterChannel(Channels.Channel_1); listener.UnRegisterChannel(Channels.Channel_2); listener.UnRegisterChannel(Channels.Channel_3); listener.UnRegisterChannel(Channels.Channel_4); listener.UnRegisterChannel(Channels.Channel_5); listener.UnRegisterChannel(Channels.Channel_6); listener.UnRegisterChannel(Channels.Channel_7); listener.UnRegisterChannel(Channels.Channel_8); listener.UnRegisterChannel(Channels.Channel_9); listener.UnRegisterChannel(Channels.Channel_10); return; } } #endif try { esTracePacket entry = new esTracePacket(); string[] fields = e.DataGram.Message.Split('±'); if (fields[0].Length > 0) { entry.TransactionId = Convert.ToInt32(fields[0]); } if (fields[1].Length > 0) { entry.ObjectType = fields[1]; } entry.CallStack = fields[2]; entry.ApplicationName = fields[3]; entry.TraceChannel = fields[4]; entry.ThreadId = Convert.ToInt32(fields[5]); entry.Sql = fields[6]; entry.Duration = Convert.ToInt64(fields[7]); entry.Ticks = Convert.ToInt64(fields[8]); entry.PacketOrder = Convert.ToInt64(fields[9]); entry.Action = fields[10]; entry.Syntax = fields[11]; entry.Exception = fields[12]; if (fields[13].Length > 0) { // Parse Parameters string[] parameters = fields[13].Split('«'); esParameter param = null; for (int i = 0; i < parameters.Length; i += 5) { if (param == null) { param = new esParameter(); } param.Name = parameters[i]; param.Direction = parameters[i + 1]; param.ParamType = parameters[i + 2]; if (parameters[i + 3] != "null") { param.BeforeValue = parameters[i + 3]; } if (parameters[i + 4] != "null") { param.AfterValue = parameters[i + 4]; } entry.SqlParameters.Add(param); param = null; } } switch (entry.TraceChannel) { case Channels.Channel_1: AddEntryToList(channel_1, entry); break; case Channels.Channel_2: AddEntryToList(channel_2, entry); break; case Channels.Channel_3: AddEntryToList(channel_3, entry); break; case Channels.Channel_4: AddEntryToList(channel_4, entry); break; case Channels.Channel_5: AddEntryToList(channel_5, entry); break; case Channels.Channel_6: AddEntryToList(channel_6, entry); break; case Channels.Channel_7: AddEntryToList(channel_7, entry); break; case Channels.Channel_8: AddEntryToList(channel_8, entry); break; case Channels.Channel_9: AddEntryToList(channel_9, entry); break; case Channels.Channel_10: AddEntryToList(channel_10, entry); break; } } catch { } }
private void Listener_MessageReceived(object sender, XDMessageEventArgs e) { var message = e.DataGram.Message; MessageBox.Show(message); }
private void OnNetworkMessageReceived(object sender, XDMessageEventArgs e) { if (disposed || !e.DataGram.IsValid) { return; } TypedDataGram<NetworkRelayMessage> dataGram = e.DataGram; if (dataGram != null && dataGram.IsValid && dataGram.Message.MachineName != Environment.MachineName) { // rebroadcast locally Task.Factory.StartNew( () => nativeBroadcast.SendToChannel(dataGram.Message.Channel, dataGram.Message.Message)); } }