/// <summary> Handle message. </summary> /// <param name="receivedCommand"> The received command. </param> public void HandleMessage(ReceivedCommand receivedCommand) { CurrentReceivedLine = receivedCommand.RawString; // Send message that a new line has been received and is due to be processed //InvokeEvent(NewLineReceived); MessengerCallbackFunction callback = null; if (receivedCommand.Ok) { if (_callbackList.ContainsKey(receivedCommand.CmdId)) { callback = _callbackList[receivedCommand.CmdId]; } else { if (_defaultCallback != null) { callback = _defaultCallback; } } } else { // Empty command receivedCommand = new ReceivedCommand(); } InvokeCallBack(callback, receivedCommand); }
/// <summary> Handle message. </summary> /// <param name="receivedCommand"> The received command. </param> private void HandleMessage(ReceivedCommand receivedCommand) { MessengerCallbackFunction callback = null; if (receivedCommand.Ok) { if (_callbackList.ContainsKey(receivedCommand.CmdId)) { callback = _callbackList[receivedCommand.CmdId]; } else { if (_defaultCallback != null) { callback = _defaultCallback; } } } else { // Empty command receivedCommand = new ReceivedCommand { CommunicationManager = _communicationManager }; } InvokeCallBack(callback, receivedCommand); }
/// <summary> Handle message. </summary> /// <param name="receivedCommand"> The received command. </param> public void HandleMessage(ReceivedCommand receivedCommand) { MessengerCallbackFunction callback = null; //var commandId = -1; //ReceivedCommand receivedCommand; if (receivedCommand.Ok) { //receivedCommand = new ReceivedCommand(commandString); if (_callbackList.ContainsKey(receivedCommand.CommandId)) { callback = _callbackList[receivedCommand.CommandId]; } else { if (_defaultCallback != null) { callback = _defaultCallback; } } } else { // Empty command receivedCommand = new ReceivedCommand(); } InvokeCallBack(callback, receivedCommand); }
/// <summary> Helper function to Invoke or directly call callback function. </summary> /// <param name="messengerCallbackFunction"> The messenger callback function. </param> /// <param name="command"> The command. </param> private void InvokeCallBack(MessengerCallbackFunction messengerCallbackFunction, ReceivedCommand command) { if (messengerCallbackFunction == null) { return; } messengerCallbackFunction(command); }
/// <summary> Helper function to Invoke or directly call callback function. </summary> /// <param name="messengerCallbackFunction"> The messenger callback function. </param> /// <param name="command"> The command. </param> private void InvokeCallBack(MessengerCallbackFunction messengerCallbackFunction, ReceivedCommand command) { if (messengerCallbackFunction != null) { if (_controlToInvokeOn != null && _controlToInvokeOn.InvokeRequired) { //Asynchronously call on UI thread _controlToInvokeOn.Invoke(new MessengerCallbackFunction(messengerCallbackFunction), (object)command); } else { //Directly call messengerCallbackFunction(command); } } }
/// <summary> Helper function to Invoke or directly call callback function. </summary> /// <param name="messengerCallbackFunction"> The messenger callback function. </param> /// <param name="command"> The command. </param> private void InvokeCallBack(MessengerCallbackFunction messengerCallbackFunction, ReceivedCommand command) { if (messengerCallbackFunction == null || (ControlToInvokeOn != null && ControlToInvokeOn.IsDisposed)) { return; } if (ControlToInvokeOn != null) { //Asynchronously call on UI thread try { ControlToInvokeOn.BeginInvoke(new MessengerCallbackFunction(messengerCallbackFunction), (object)command); } catch { } } else { //Directly call try { messengerCallbackFunction.BeginInvoke(command, null, null); } catch { } } }
/// <summary> Helper function to Invoke or directly call callback function. </summary> /// <param name="messengerCallbackFunction"> The messenger callback function. </param> /// <param name="command"> The command. </param> private void InvokeCallBack(MessengerCallbackFunction messengerCallbackFunction, ReceivedCommand command) { if (messengerCallbackFunction != null) { if (_controlToInvokeOn != null && _controlToInvokeOn.InvokeRequired) { //Asynchronously call on UI thread _controlToInvokeOn.Invoke(new MessengerCallbackFunction(messengerCallbackFunction), (object) command); } else { //Directly call messengerCallbackFunction(command); } } }
/// <summary> Attaches default callback for certain Message ID. </summary> /// <param name="messageId"> Command ID. </param> /// <param name="newFunction"> The callback function. </param> public void Attach(int messageId, MessengerCallbackFunction newFunction) { _callbackList[messageId] = newFunction; }
/// <summary> Attaches default callback for unsupported commands. </summary> /// <param name="newFunction"> The callback function. </param> public void Attach(MessengerCallbackFunction newFunction) { _defaultCallback = newFunction; }
/// <summary> Helper function to Invoke or directly call callback function. </summary> /// <param name="messengerCallbackFunction"> The messenger callback function. </param> /// <param name="command"> The command. </param> private void InvokeCallBack(MessengerCallbackFunction messengerCallbackFunction, ReceivedCommand command) { if (messengerCallbackFunction == null || (ControlToInvokeOn != null && ControlToInvokeOn.IsDisposed)) return; if (ControlToInvokeOn != null) { //Asynchronously call on UI thread ControlToInvokeOn.BeginInvoke(new MessengerCallbackFunction(messengerCallbackFunction), (object)command); } else { //Directly call messengerCallbackFunction(command); } }
/// <summary> Helper function to Invoke or directly call callback function. </summary> /// <param name="messengerCallbackFunction"> The messenger callback function. </param> /// <param name="command"> The command. </param> private void InvokeCallBack(MessengerCallbackFunction messengerCallbackFunction, ReceivedCommand command) { if (messengerCallbackFunction == null) return; //Directly call messengerCallbackFunction(command); }
/// <summary> Helper function to Invoke or directly call callback function. </summary> /// <param name="messengerCallbackFunction"> The messenger callback function. </param> /// <param name="command"> The command. </param> private void InvokeCallBack(MessengerCallbackFunction messengerCallbackFunction, ReceivedCommand command) { messengerCallbackFunction?.Invoke(command); }