Example #1
0
        /// <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);
     }
 }
Example #3
0
 public void ChangeConnectionStatus(eConnectionState State)
 {
     if (State == eConnectionState.Connecting)
     {
         WaitingProgressVisibility = Visibility.Visible;
     }
     else
     {
         WaitingProgressVisibility = Visibility.Hidden;
     }
 }
Example #4
0
        /// <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;
                }
            }
        }
Example #5
0
        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;
            }
        }
Example #6
0
            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);
                }
            }
Example #7
0
 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 { }
 }
Example #8
0
        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);
            }
        }
Example #9
0
		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);
			}
		}
Example #10
0
 private void _connetion_Info(eConnectionState state)
 {
 }
Example #11
0
 /// <summary>
 /// Start the process of obtaining information about every data type
 /// </summary>
 public void PopulateDataInfomation()
 {
     m_ConnectionState = eConnectionState.FullPopulate_Begin;
     StartNextTransaction();
 }
Example #12
0
        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;
        }