protected virtual void OnStateChanging(object sender, PortState newState) { if (StateChanging != null) { StateChanging(sender, newState); } }
public override void LoadAll(IO.ComponentData Compound) { base.LoadAll(Compound); for (int i = 0; i < Joints.Length; i++) { j[i] = Compound.GetInt("J" + i.ToString()); } for (int i = 0; i < Wires.Length; i++) { w[i] = Compound.GetInt("W" + i.ToString()); } connectedLeft = Compound.GetBool("Left"); connectedUp = Compound.GetBool("Up"); connectedRight = Compound.GetBool("Right"); connectedDown = Compound.GetBool("Down"); leftUp = Compound.GetBool("LeftUp"); leftRight = Compound.GetBool("LeftRight"); leftDown = Compound.GetBool("LeftDown"); upRight = Compound.GetBool("UpRight"); upDown = Compound.GetBool("UpDown"); rightDown = Compound.GetBool("RightDown"); left = (PortState)Compound.GetInt("PortLeft"); up = (PortState)Compound.GetInt("PortUp"); right = (PortState)Compound.GetInt("PortRight"); down = (PortState)Compound.GetInt("PortDown"); }
protected virtual void OnStateChanged(object sender, PortState state) { if (StateChanged != null) { StateChanged(sender, state); } }
/// <summary> /// Reacts to the remote terminal drop. /// </summary> /// <param name="sender">The sender.</param> /// <param name="e">The <see cref="EventArgs" /> instance containing the event data.</param> public virtual void OnRemoteDrop(object sender, EventArgs e) { IPort remotePort = sender as IPort; if (remotePort != null) { remotePort.DropCallEvent -= OnRemoteDrop; remotePort.OnOutgoingCallEvent -= OnIncomingCall; _terminal.SetPickUpPhone(false); } if (OnPortStateChangedEvent == null) { OnPortStateChangedEvent += PortStateChanged; } _callInfo.EndDate = StaticTime.CurrentTime; _callInfo.CallResultType = PortState == PortState.Busy ? CallInfoResultType.Success : CallInfoResultType.Unanswered; if (CallCompletedEvent != null) { CallCompletedEvent(this, _callInfo); } PortState = PortState.Free; OnPortStateChangedEvent -= PortStateChanged; }
void OpenPort() { try { #if UNITY_EDITOR_WIN || UNITY_STANDALONE_WIN portName = "\\\\.\\" + portName; #endif serial = new SerialPort(portName, baudRate, Parity.None, 8, StopBits.One); serial.ReadTimeout = readTimeout; serial.WriteTimeout = 10; serial.Close(); serial.Dispose(); serial.Open(); serial.DiscardInBuffer(); serial.DiscardOutBuffer(); serial.BaseStream.Flush(); serial.NewLine = "\n"; boardState = PortState.Open; Debug.Log("The port is open"); } catch (Exception e) { Debug.Log("Error" + e); } }
public void PhoneEventsInit(IPhone phone) { phone.IncomingCall += (sender, args) => { State = PortState.Call; phone.Connection = args; }; phone.OutgoingCall += (sender, args) => { State = PortState.Call; Call?.Invoke(this, args); }; phone.Answer += (sender, args) => { Answer?.Invoke(this, args); }; phone.Drop += (sender, args) => { State = PortState.Busy; Drop?.Invoke(this, args); }; this.IncomingCall += (sender, args) => { phone.GetIncomingCall(args); }; }
public virtual void RegisterEventHandlersForTerminal(ITerminal terminal) { terminal.OutgoingCall += (sender, arg) => { State = PortState.Busy; OutgoingCall?.Invoke(this, arg); Console.WriteLine(arg.SourceNumber + " is calling " + arg.TargetNumber); }; terminal.IncomingCall += (sender, arg) => { State = PortState.Busy; terminal.CallEventArgs = arg; Console.WriteLine(arg.SourceNumber + " is calling " + arg.TargetNumber); }; terminal.Answer += (sender, arg) => { Console.WriteLine(arg.TargetNumber + " answered " + arg.SourceNumber); Answer?.Invoke(this, arg); }; terminal.Drop += (sender, arg) => { State = PortState.Free; Drop?.Invoke(this, arg); }; this.IncomingCall += (sender, arg) => { terminal.IncomingCallFromPort(arg); }; }
protected virtual void OnStateChanged(object sender, PortState state) { if (PortStateChanged != null) { PortStateChanged(sender, state); } }
private void EV3Manager_TouchSensorUpdateEvent(PortState state) { if (TouchText != null) { TouchText.text = state.Raw.ToString(); } }
private void _worker_DoWork(object sender, DoWorkEventArgs e) { try { int port = Convert.ToInt32(_txtPort.Text); int x = 0; if (!_worker.CancellationPending) { PortState state = new PortState(); decimal progress = (decimal)x * (decimal)100; try { TcpClient client = new TcpClient(_txtHost.Text, port); state.IsOpen = true; } catch (Exception ex) { } state.Port = port; _worker.ReportProgress((int)progress, state); ++x; } } catch (Exception ee) { MessageBox.Show(ee.Message); } }
public void OnOutgoingCall(object sender, Request request) { if (request.GetType() == typeof(OutgoingCallRequest) && this.State == PortState.Free) { this.State = PortState.Busy; } }
public NodePort(Node owner, NodePortType type) { Rect = new Rect(0, 0, 10, 10); Owner = owner; Type = type; State = PortState.Idle; }
public void OnStateChanging(object sender, PortState newState) { if (StateChanging != null) { StateChanging(sender, newState); } }
private void EV3Manager_InfraredSensorUpdateEvent(PortState state) { if (IRText != null) { IRText.text = state.Raw.ToString(); } }
public void OnStateChanged(object sender, PortState state) { if (StateChanged != null) { StateChanged(sender, state); } }
private void EV3Manager_ColourSensorUpdateEvent(PortState state) { if (ColourText != null) { ColourText.text = state.Raw.ToString(); } }
public void UpdateIO() { Left = Left; Up = Up; Right = Right; Down = Down; }
public PortInfo(IPAddress ipAddress, string hostname, int port, PortLookupInfo lookupInfo, PortState status) { IPAddress = ipAddress; Hostname = hostname; Port = port; LookupInfo = lookupInfo; State = status; }
public PortScannedArgs(IPAddress ipAddres, string hostname, int port, PortLookupInfo lookupInfo, PortState state) { IPAddress = ipAddres; Hostname = hostname; Port = port; LookupInfo = lookupInfo; State = state; }
public void OutgoingRequest(object sender, Request request) { _State = PortState.Busy; _Logger.WriteToLog("-> Port on number " + (sender as ITerminal).Number.GetValue + " change state in " + _State); OnOutgoingRequest(this, request); }
public void TerminateCall(object sender, Response response) { _State = PortState.Free; _Logger.WriteToLog("-> Port on number " + (sender as ITerminal).Number.GetValue + " change state in " + _State); OnTerminateRequest(this, response); }
PortState Inverse(PortState p) { if (p == PortState.Input) { return(PortState.Output); } return(PortState.Input); }
public void Disconnect() { if (State != PortState.Disabled) { _state = PortState.Available; PbxTerminal.Disconnect(); } }
public void CallWasCompleted(Response response) { _State = PortState.Free; _Logger.WriteToLog("-> Target port change state in " + _State); OnRequestWasCompleted(this, response); }
/// <summary> /// Gets outgoing call. /// </summary> /// <param name="sender">The sender.</param> /// <param name="number">The number.</param> protected virtual void OnTerminalPrepareOutgoingCall(object sender, string number) { PortState = PortState.OutgoingCall; if (OnPrepareOutgoingCallEvent != null) { OnPrepareOutgoingCallEvent(this, number); } }
public void IncomingRequest(Request request) { _State = PortState.Busy; _Logger.WriteToLog("-> Port on number " + request.TargetNumber.GetValue + " change state in " + _State); OnIncomingRequest(this, request); }
public void EndToCallExchandeToPortEventHandler(object?sender, EndToCallExchandeToPortEventArgs e) { if (PortId == e.PortID) { State = PortState.Connect; Console.WriteLine("Конец звонка"); //logic EndCall To terminal } }
public void Connect(Terminal terminal) //подпиисываемся на терминал { State = PortState.Connect; // отдельный метод subscribe terminal.TryToConnectToPortEventHandler += TerminalOnTryToConnectToPortEventHandler; terminal.EndCallTerminalToPortEventHandler += TerminalOnEndCallTerminalToPortEventHandler; OnTerminalToPortConnectedEvent(new TerminalToPortConnectedEventArgs { PhoneNumber = terminal.PhoneNumber, PortID = PortId }); }
public void EndToTryCallExchandeToPortEventHandler(object?sender, EndToTryCallExchandeToPortEventArgs e) { if (PortId == e.PortID) { State = PortState.Connect; //logic EndCall To terminal Console.WriteLine("Звонок не удался "); } }
public void UnConnect(Terminal terminal) //отписываемся от терминала { State = PortState.NotConnect; terminal.TryToConnectToPortEventHandler -= TerminalOnTryToConnectToPortEventHandler; terminal.EndCallTerminalToPortEventHandler -= TerminalOnEndCallTerminalToPortEventHandler; OnTerminalToPortUnConnectedEvent(new TerminalToPortUnConnectedEventArgs { PortID = terminal.Id }); }
public void PlugToTerminal(object sender, EventArgs args) { if (_State == PortState.SwitchedOff) { _State = PortState.Free; RegisterOnTerminalEvents(sender as ITerminal); _Logger.WriteToLog("-> Port on number " + (sender as ITerminal).Number.GetValue + " plug"); } }
public void CallExchandeToPortEventHandler(object?sender, CallExchandeToPortEventArgs e) { if (PortId == e.PortID) { Console.WriteLine("Звонок удался"); State = PortState.Busy; } //logic Call To terminal //logic }
public Port(long phoneNumber) { if (!new Regex(@"\d{6}").IsMatch(phoneNumber.ToString())) { throw new ArgumentException($"Phone number is incorrect. Example: 123456."); } PhoneNumber = phoneNumber; State = PortState.Disconnected; }
public StateChangeEventArgs(PortState state) { if ((state < PortState.Closed) || (state > PortState.Closing)) { throw new ArgumentOutOfRangeException("state"); } else { State = state; } }
public void RegisterEventsForTerminal(ITerminal terminal) { terminal.Plugging += (sender, args) => { this.State = PortState.Free; }; terminal.UnPlugging += (sender, args) => { this.State = PortState.Off; }; terminal.OutConnection += (sender, request) => { if (request.Code == Request.OutcomingCall && this.State == PortState.Free) { this.State = PortState.Busy; } }; }
public bool Connect(Terminal terminal) { if (State == PortState.Disconnect) { State = PortState.Connect; terminal.CallEvent += CallingTo; terminal.AnswerEvent += AnswerTo; terminal.EndCallEvent += EndCall; Flag = true; } return Flag; }
public bool Disconnect(Terminal terminal) { if(State == PortState.Connect) { State = PortState.Disconnect; terminal.CallEvent -= CallingTo; terminal.AnswerEvent -= AnswerTo; terminal.EndCallEvent -= EndCall; Flag = false; } return false; }
private static bool IsPort(string hostname, int port, int millisRetry, int millisTimeout, bool retry, PortState state) { IPAddress[] addrs; try { /* Try to parse the value as an IP address. */ addrs = new IPAddress[] {IPAddress.Parse(hostname)}; } catch (System.FormatException) { /* If it fails lookup the entry in DNS. */ IPHostEntry entry = Dns.GetHostEntry(hostname); addrs = entry.AddressList; } DateTime start = DateTime.Now; while (true) { DateTime now = DateTime.Now; TimeSpan delta = now - start; if (delta.TotalMilliseconds >= millisTimeout) { Console.WriteLine("Timeout reached."); return false; } bool connected = false; for (int i = 0; i < addrs.Length; i++) { string result = ""; Socket socket = new Socket(addrs[i].AddressFamily, SocketType.Stream, ProtocolType.IP); try { socket.Connect(addrs[i], port); result = "succeded"; connected = true; break; } catch (Exception ex) { result = String.Format("failed ({0})", ex.Message); } finally { Console.WriteLine("Probing {0}:{1} {5} (address {3} of {4}) {2}.", addrs[i], port, result, i + 1, addrs.Length, state); socket.Close(); } } if ((connected && (state == PortState.Open)) || (!connected && (state == PortState.Closed))) { return true; } if (!retry) { Console.WriteLine("No retry."); return false; } Console.WriteLine("Will retry in {0} millis. {1:0} millis to timeout.", millisRetry, millisTimeout - delta.TotalMilliseconds); Thread.Sleep(millisRetry); } }
private void OnStateChangingEvent(PortState newState) { StateChangingEvent?.Invoke(MACAddress, newState); }
public Port() { State = PortState.Disconnect; }
protected void SetPortsStateTo(PhoneNumber source, PhoneNumber target, PortState state) { var targetPort = GetPortByPhoneNumber(target); var sourcePort = GetPortByPhoneNumber(source); if (targetPort != null) { targetPort.State = state; } if (sourcePort != null) { sourcePort.State = state; } }
public void Close() { if (State == PortState.Close) return; State = PortState.Close; }
protected virtual void OnStateChanged(object sender, PortState state) { StateChanged?.Invoke(this, state); }
protected virtual void OnStateChanging(object sender, PortState newstate) { StateChanging?.Invoke(this, newstate); }
public override void LoadAll(IO.ComponentData Compound) { base.LoadAll(Compound); for (int i = 0; i < Joints.Length; i++) { j[i] = Compound.GetInt("J" + i.ToString()); } for (int i = 0; i < Wires.Length; i++) { w[i] = Compound.GetInt("W" + i.ToString()); } left = (PortState)Compound.GetInt("Left"); up = (PortState)Compound.GetInt("Up"); right = (PortState)Compound.GetInt("Right"); down = (PortState)Compound.GetInt("Down"); }
PortState Inverse(PortState p) { if (p == PortState.Input) return PortState.Output; return PortState.Input; }
public virtual void BindPort(IPort port) { if (port == null) throw new ArgumentNullException(nameof(port)); if (IsPortBinded) throw new RegistrationException($"{this} already binded"); port.StateChangedEvent += PortOnStateChangedEvent; PortOnStateChangedEvent(this, port.State, port.State); port.SendRequestEvent += ProcessRequest; port.SendResponseEvent += ProcessResponse; _bindedPortMAC = port.MACAddress; if (State != PortState.Close) State = PortState.Listened; OnBindPortEvent(port); }
private int PortStateToIndex(PortState s) { switch (s) { case PortState.Input: return 2; case PortState.Output: return 1; case PortState.Both: return 0; default: return 0; } }
public void Open() { if (State != PortState.Close) return; State = IsPortBinded ? PortState.Listened : PortState.Open; }
private void OnStateChangedEvent(PortState oldState) { StateChangedEvent?.Invoke(MACAddress, oldState, _state); }
public virtual void UnbindPort(IPort port) { if (port == null) throw new ArgumentNullException(nameof(port)); if (port.MACAddress != _bindedPortMAC) throw new RegistrationException($"{this} did'n bind to {port}"); port.StateChangedEvent -= PortOnStateChangedEvent; IsBindedPortNotClosed = false; port.SendRequestEvent -= ProcessRequest; port.SendResponseEvent -= ProcessResponse; _bindedPortMAC = null; if (State != PortState.Close) State = PortState.Open; OnUnbindPortEvent(port); }
private void PortOnStateChangedEvent(object sender, PortState oldState, PortState newState) { IsBindedPortNotClosed = newState != PortState.Close; }
private void SetFormTitle(PortState state) { string port = _tw.ConfiguredComPort; var sb = new StringBuilder(); sb.AppendFormat("{0} №{1}", OLD_TEXT, _tw.ConfiguredStationNo); if (state == PortState.None) { Text = sb.ToString(); return; } sb.AppendFormat(" ({0} {1})", _pst[(int)state].Name, port); Text = sb.ToString(); }