Exemplo n.º 1
0
 /// <summary>
 /// IStatusMessageListener implementation to capture and process messages sent back from API
 /// </summary>
 /// <param name="status">Status message received by API</param>
 public void messageArrived(ISessionStatus status)
 {
     // check the status code
     if (status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_ERROR ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_DISCONNECTING ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_CONNECTING ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_CONNECTED ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_CRITICAL_ERROR ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_EXPIRED ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_LOGGINGIN ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_LOGGEDIN ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_PROCESSING ||
         status.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_DISCONNECTED)
     {
         // display status message
         Console.WriteLine("\t" + status.getStatusMessage());
     }
 }
Exemplo n.º 2
0
 /// <summary>
 /// Receives status messages from the FXCM API
 /// </summary>
 /// <param name="message">Status message received</param>
 public void messageArrived(ISessionStatus message)
 {
     switch (message.getStatusCode())
     {
     case ISessionStatus.__Fields.STATUSCODE_READY:
         lock (_lockerConnectionMonitor)
         {
             _lastReadyMessageTime = DateTime.UtcNow;
         }
         break;
     }
 }
Exemplo n.º 3
0
        /// <summary>
        /// Receives status messages from the FXCM API
        /// </summary>
        /// <param name="message">Status message received</param>
        public void messageArrived(ISessionStatus message)
        {
            switch (message.getStatusCode())
            {
                case ISessionStatus.__Fields.STATUSCODE_READY:
                    lock (_lockerConnectionMonitor)
                    {
                        _lastReadyMessageTime = DateTime.UtcNow;
                    }
                    _connectionError = false;
                    break;

                case ISessionStatus.__Fields.STATUSCODE_ERROR:
                    _connectionError = true;
                    break;
            }
        }
Exemplo n.º 4
0
        /// <summary>
        /// Receives status messages from the FXCM API
        /// </summary>
        /// <param name="message">Status message received</param>
        public void messageArrived(ISessionStatus message)
        {
            if (message.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_ERROR && !_connectionLost)
            {
                OnMessage(BrokerageMessageEvent.Disconnected("Connection with FXCM server lost. " +
                    "This could be because of internet connectivity issues. " +
                    "Error message: " + message.getStatusMessage()));

                _connectionLost = true;
            }
            else if (message.getStatusCode() == ISessionStatus.__Fields.STATUSCODE_READY && _connectionLost)
            {
                OnMessage(BrokerageMessageEvent.Reconnected("Connection with FXCM server restored."));

                _connectionLost = false;
            }
        }