/// <summary> /// Begins the next transaction in websockets code. Used because we need to strictly order /// asynchronous request. If the websocket client implementation was better, we probably wouldn't /// need it. /// </summary> private void StartNextTransaction() { switch (m_ConnectionState) { case eConnectionState.FullPopulate_Begin: RequestDeviceList(); GetAllDataGroups(); m_ConnectionState++; break; case eConnectionState.FullPopulate_Groups: m_ConnectionState = eConnectionState.FullPopulate_Infomation; GetAllDataInformation(); break; case eConnectionState.FullPopulate_Infomation: if (PopulationComplete != null) { PopulationComplete(this, new EventArgs()); } m_ConnectionState = eConnectionState.None; break; default: break; } }
private void OnConnectionStateChanged(eConnectionState state) { ServerConnectionState = state; if (ConnectionStateChanged != null) { ConnectionStateChanged.Invoke(state); } }
public void ChangeConnectionStatus(eConnectionState State) { if (State == eConnectionState.Connecting) { WaitingProgressVisibility = Visibility.Visible; } else { WaitingProgressVisibility = Visibility.Hidden; } }
/// <summary> /// Stop logging data. This unsubscribes from any previously subscribed items. /// </summary> public void StopLogging() { if (Logging) { StringBuilder sb = new StringBuilder(); sb.Append("{\"UnsubscribeData\":["); foreach (int i in m_IdList) { if (m_N2kNameDict.ContainsKey(i)) { foreach (String n2kName in m_N2kNameDict[i]) { sb.Append("{\"id\":"); sb.Append(i.ToString()); sb.Append(",\"n2kName\":"); sb.Append(n2kName); sb.Append("},"); } } else if (m_InstanceDict.ContainsKey(i)) { foreach (int inst in m_InstanceDict[i]) { sb.Append("{\"id\":"); sb.Append(i.ToString()); sb.Append(",\"inst\":"); sb.Append(inst.ToString()); sb.Append("},"); } } else { sb.Append("{\"id\":"); sb.Append(i.ToString()); sb.Append("},"); } } sb.Remove(sb.Length - 1, 1); sb.Append("]}"); m_WsClient.Send(sb.ToString()); WriteMessages(); Logging = false; m_ConnectionState = eConnectionState.None; if ((m_UseUserTimer) && (m_UserTimer != null)) { m_UserTimer.Stop(); m_UserTimer = null; } } }
public void ChangeConnectionStatus(eConnectionState State) { switch (State) { case eConnectionState.Connected: AddListBoxItem("Connected"); break; case eConnectionState.Disconnected: { AddListBoxItem("Disconneted"); break; } case eConnectionState.Connecting: AddListBoxItem("Connecting"); break; } }
private void ZSetState(eConnectionState pConnectionState, cTrace.cContext pParentContext) { var lContext = pParentContext.NewMethod(nameof(cSession), nameof(ZSetState), pConnectionState); bool lIsUnconnected; bool lIsConnected; // the lock is required because state can be changed by; // the user's thread (via calls to Connect or Disconnect), and by // the command pipeline's thread (via a response from the server) // (note that a unilateral bye which can arrive at any time (e.g. during connect) will disconnect) // (note that the user may call Disconnect at any time (e.g. during connectasync)) // lock (mConnectionStateLock) { if (pConnectionState == _ConnectionState) { return; } if (_ConnectionState == eConnectionState.disconnected) { return; } lIsUnconnected = IsUnconnected; lIsConnected = IsConnected; _ConnectionState = pConnectionState; } mSynchroniser.InvokePropertyChanged(nameof(cIMAPClient.ConnectionState), lContext); if (IsConnected != lIsConnected) { mSynchroniser.InvokePropertyChanged(nameof(cIMAPClient.IsConnected), lContext); } if (IsUnconnected != lIsUnconnected) { mSynchroniser.InvokePropertyChanged(nameof(cIMAPClient.IsUnconnected), lContext); } }
private void _connetion_Info(eConnectionState state) { try { ConnectionChanged(state); if (state == eConnectionState.Disconnected) { _connetion = null; ConnectToClient = null; _Connected = false; Log.ConncetionSuccesful = true; VpnManagerDal.UpdateLog(Log); tTimeout.Abort(); tTimeout = null; } else if (state == eConnectionState.Connected) { _Connected = true; } } catch { } }
private void OnConnectionChanged(eConnectionState state) { try { _adapter.AddInfoLog("OnConnectionChanged {0}", state); switch (state) { case eConnectionState.Connected: _connState = ConnectionStates.Connected; Connected.SafeInvoke(); break; case eConnectionState.Disconnected: if (_connState == ConnectionStates.Disconnecting) { Disconnected.SafeInvoke(); } else { ConnectionError.SafeInvoke(new AlfaException(tagStateCodes.stcNotConnected, LocalizedStrings.Str1611)); } _connState = ConnectionStates.Disconnected; break; default: ConnectionError.SafeInvoke(new InvalidOperationException("Error eConnectionState: " + state)); break; } } catch (Exception e) { _adapter.AddErrorLog(LocalizedStrings.Str2273Params, e); Error.SafeInvoke(e); } }
private void OnConnectionChanged(eConnectionState state) { try { _adapter.AddInfoLog("OnConnectionChanged {0}", state); switch (state) { case eConnectionState.Connected: _connState = ConnectionStates.Connected; Connected.SafeInvoke(); break; case eConnectionState.Disconnected: if (_connState == ConnectionStates.Disconnecting) Disconnected.SafeInvoke(); else ConnectionError.SafeInvoke(new AlfaException(tagStateCodes.stcNotConnected, LocalizedStrings.Str1611)); _connState = ConnectionStates.Disconnected; break; default: ConnectionError.SafeInvoke(new InvalidOperationException("Error eConnectionState: " + state)); break; } } catch (Exception e) { _adapter.AddErrorLog(LocalizedStrings.Str2273Params, e); Error.SafeInvoke(e); } }
private void _connetion_Info(eConnectionState state) { }
/// <summary> /// Start the process of obtaining information about every data type /// </summary> public void PopulateDataInfomation() { m_ConnectionState = eConnectionState.FullPopulate_Begin; StartNextTransaction(); }
private void RequestData() { SaveSettingsToFile(); m_ConnectionState = eConnectionState.Data; StringBuilder sb = new StringBuilder(); sb.Append("{\"DataReq\":["); int requestCount = 0; foreach (int i in m_IdList) { List <String> nameList = new List <string> (); if (m_N2kNameDict.ContainsKey(i)) { if (m_N2kNameDict [i].Count > 0) { nameList = m_N2kNameDict [i]; } } List <int> instList = new List <int> (); if (m_InstanceDict.ContainsKey(i)) { if (m_InstanceDict [i].Count > 0) { instList = m_InstanceDict [i]; } } if ((instList.Count + nameList.Count) == 0) { sb.Append("{\"id\":"); sb.Append(i.ToString()); sb.Append(",\"inst\":0"); sb.Append(",\"repeat\":true},"); requestCount++; } else { foreach (int inst in instList) { sb.Append("{\"id\":"); sb.Append(i.ToString()); sb.Append(",\"inst\":").Append(inst.ToString()); sb.Append(",\"repeat\":true},"); requestCount++; } foreach (String name in nameList) { sb.Append("{\"id\":"); sb.Append(i.ToString()); sb.Append(",\"n2kName\":").Append(name); sb.Append(",\"repeat\":true},"); requestCount++; } } if (requestCount > 10) { sb.Remove(sb.Length - 1, 1); sb.Append("]}"); m_WsClient.Send(sb.ToString()); sb.Clear(); sb.Append("{\"DataReq\":["); requestCount = 0; } } if (requestCount > 0) { sb.Remove(sb.Length - 1, 1); sb.Append("]}"); m_WsClient.Send(sb.ToString()); } Logging = true; }