Exemplo n.º 1
0
        protected virtual void Dispose(bool disposing)
        {
            if (!disposed)
            {
                if (disposing)
                {
                    // Shutdown the Dispatcher
                    if (disp != null)
                    {
                        disp.BeginInvokeShutdown();
                        disp = null;
                    }

                    // Shutdown the TTAPI
                    if (UniversalApiInstance != null)
                    {
                        UniversalApiInstance.Shutdown();
                        UniversalApiInstance = null;
                    }
                    else if (XTraderApiInstance != null)
                    {
                        XTraderApiInstance.Shutdown();
                        XTraderApiInstance = null;
                    }
                }
            }

            disposed = true;
        }
Exemplo n.º 2
0
        }//Dispose()

        protected virtual void Dispose(bool disposing)
        {
            lock (m_DisposeLock)
            {
                if (!m_IsDisposed)
                {
                    if (disposing)
                    {
                        if (m_Log != null)
                        {
                            m_Log.RequestStop();
                            m_Log = null;
                        }
                        if (m_Dispatcher != null)
                        {
                            m_Dispatcher.BeginInvokeShutdown();
                            m_Dispatcher = null;
                        }
                        if (m_UAPI != null)
                        {
                            m_UAPI.Shutdown();
                            m_UAPI = null;
                        }
                        if (m_XAPI != null)
                        {
                            m_XAPI.Shutdown();
                            m_XAPI = null;
                        }
                    }
                }
                m_IsDisposed = true;
                OnStopping();
            }
        }//Dispose()
        /// <summary>
        /// Init and start TT API.
        /// </summary>
        /// <param name="instance">XTraderModeTTAPI instance</param>
        /// <param name="ex">Any exception generated from the XTraderModeDelegate</param>
        public void initTTAPI(XTraderModeTTAPI apiInstance, Exception ex)
        {
            m_dispatcher = Dispatcher.Current;
            m_session = apiInstance.Session;

            m_TTAPI = apiInstance;
            m_TTAPI.ConnectionStatusUpdate += ttapiInstance_ConnectionStatusUpdate;
            m_TTAPI.ConnectToXTrader();
        }
 /// <summary>
 /// Init and start TT API.
 /// </summary>
 /// <param name="instance">XTraderModeTTAPI instance</param>
 /// <param name="ex">Any exception generated from the ApiCreationException</param>
 public void ttApiInitHandler(TTAPI api, ApiCreationException ex)
 {
     if (ex == null)
     {
         m_TTAPI = (XTraderModeTTAPI)api;
         m_TTAPI.ConnectionStatusUpdate += new EventHandler<ConnectionStatusUpdateEventArgs>(ttapiInstance_ConnectionStatusUpdate);
         m_TTAPI.Start();
     }
     else if (!ex.IsRecoverable)
     {
         MessageBox.Show("API Initialization Failed: " + ex.Message);
     }
 }
Exemplo n.º 5
0
 /// <summary>
 /// Init and start TT API.
 /// </summary>
 /// <param name="instance">XTraderModeTTAPI instance</param>
 /// <param name="ex">Any exception generated from the ApiCreationException</param>
 public void ttApiInitHandler(TTAPI api, ApiCreationException ex)
 {
     if (ex == null)
     {
         m_TTAPI = (XTraderModeTTAPI)api;
         m_TTAPI.ConnectionStatusUpdate += new EventHandler <ConnectionStatusUpdateEventArgs>(ttapiInstance_ConnectionStatusUpdate);
         m_TTAPI.Start();
     }
     else if (!ex.IsRecoverable)
     {
         MessageBox.Show("API Initialization Failed: " + ex.Message);
     }
 }
Exemplo n.º 6
0
 public void ttApiInitComplete(XTraderModeTTAPI api, Exception ex)
 {
     if (ex == null)
     {
         // Connect to X_TRADER
         apiInstance = api;
         apiInstance.ConnectionStatusUpdate += new EventHandler<ConnectionStatusUpdateEventArgs>(apiInstance_ConnectionStatusUpdate);
         apiInstance.ConnectToXTrader();
     }
     else
     {
         label1.Text = "API Initialization Failed: " + ex.Message;
     }
 }
Exemplo n.º 7
0
 /// <summary>
 /// Event notification for status of TT API initialization
 /// </summary>
 public void ttApiInitComplete(TTAPI api, ApiCreationException ex)
 {
     if (ex == null)
     {
         // Authenticate your credentials
         m_apiInstance = (XTraderModeTTAPI)api;
         m_apiInstance.ConnectionStatusUpdate += new EventHandler <ConnectionStatusUpdateEventArgs>(m_apiInstance_ConnectionStatusUpdate);
         m_apiInstance.Start();
     }
     else
     {
         Console.WriteLine("TT API Initialization Failed: {0}", ex.Message);
         Dispose();
     }
 }
Exemplo n.º 8
0
 /// <summary>
 /// Notifies us when initialization is complete (and whether it was successful)
 /// </summary>
 /// <param name="api">API object to use (XTrader mode)</param>
 /// <param name="ex">Exception that occurred (if any)</param>
 public void ttApiXTModeInitComplete(XTraderModeTTAPI api, Exception ex)
 {
     if (ex == null)
     {
         XTraderApiInstance = api;
         XTraderApiInstance.ConnectionStatusUpdate += new EventHandler <ConnectionStatusUpdateEventArgs>(apiInstance_ConnectionStatusUpdate);
         XTraderApiInstance.ConnectToXTrader();
         apiSession          = XTraderApiInstance.Session;
         autospreaderManager = XTraderApiInstance.AutospreaderManager;
     }
     else
     {
         initSuccess = false;
         initMessage = "API Initialization Failed: " + ex.Message;
     }
 }
Exemplo n.º 9
0
        public void shutdownTTAPI()
        {
            // Dispose of all request objects
            if (req != null)
            {
                req.Dispose();
                req = null;
            }

            // Shutdown the API
            if (apiInstance != null)
            {
                apiInstance.Shutdown();
                apiInstance = null;
            }
        }
        /// <summary>
        /// Init and start TT API.
        /// </summary>
        /// <param name="instance">XTraderModeTTAPI instance</param>
        /// <param name="ex">Any exception generated from the ApiCreationException</param>
        public void ttApiInitHandler(TTAPI api, ApiCreationException ex)
        {
            if (ex == null)
            {
                m_TTAPI = (XTraderModeTTAPI)api;
                m_TTAPI.ConnectionStatusUpdate += new EventHandler<ConnectionStatusUpdateEventArgs>(ttapiInstance_ConnectionStatusUpdate);
                m_TTAPI.Start();

                m_customerDefaultsSubscription = new CustomerDefaultsSubscription(m_TTAPI.Session, Dispatcher.Current);
                m_customerDefaultsSubscription.CustomerDefaultsChanged += new EventHandler(m_customerDefaultsSubscription_CustomerDefaultsChanged);
                m_customerDefaultsSubscription.Start();
            }
            else if (!ex.IsRecoverable)
            {
                MessageBox.Show("API Initialization Failed: " + ex.Message);
            }
        }
Exemplo n.º 11
0
        /// <summary>
        /// Init and start TT API.
        /// </summary>
        /// <param name="instance">XTraderModeTTAPI instance</param>
        /// <param name="ex">Any exception generated from the ApiCreationException</param>
        public void ttApiInitHandler(TTAPI api, ApiCreationException ex)
        {
            if (ex == null)
            {
                m_TTAPI = (XTraderModeTTAPI)api;
                m_TTAPI.ConnectionStatusUpdate += new EventHandler <ConnectionStatusUpdateEventArgs>(ttapiInstance_ConnectionStatusUpdate);
                m_TTAPI.Start();

                m_customerDefaultsSubscription = new CustomerDefaultsSubscription(m_TTAPI.Session, Dispatcher.Current);
                m_customerDefaultsSubscription.CustomerDefaultsChanged += new EventHandler(m_customerDefaultsSubscription_CustomerDefaultsChanged);
                m_customerDefaultsSubscription.Start();
            }
            else if (!ex.IsRecoverable)
            {
                MessageBox.Show("API Initialization Failed: " + ex.Message);
            }
        }
Exemplo n.º 12
0
        }// TT_AuthenticationStatusUpdate()

        //
        // *********************************************************************
        // ****                 TT XTrader Init Complete                    ****
        // *********************************************************************
        private void TT_XTraderInitComplete(TTAPI api, Exception ex)
        {
            if (ex == null)
            {
                m_XAPI = (XTraderModeTTAPI)api;
                if (m_Log != null)
                {
                    m_Log.NewEntry(LogLevel.Major, "XTraderInitComplete: API Xtrader initialization is successful.");
                }
                m_XAPI.ConnectionStatusUpdate += new EventHandler <ConnectionStatusUpdateEventArgs>(TT_ConnectionStatusUpdate);
                m_XAPI.LicenseIssue           += new EventHandler <LicenseIssueEventArgs>(TT_LicenseIssueEventHandler);
                m_XAPI.XTraderStatusChanged   += new EventHandler <TradingTechnologies.TTAPI.XTInteraction.XTraderStatusChangedEventArgs>(TT_XTraderStatusChanged);

                if (string.IsNullOrEmpty(m_XAPI.Session.UserName))
                {   // There is no user logged into the x-trader session.
                    // We will need to wait until one shows up.
                    if (m_XTraderLoginTimer == null)
                    {
                        double waitTimeMinutes = 0.20;
                        if (m_Log != null)
                        {
                            m_Log.NewEntry(LogLevel.Major, "XTraderInitComplete: No user logged into XTrader yet. Will check again in {0:0.0} minutes.", waitTimeMinutes);
                        }
                        m_XTraderLoginTimer           = new System.Timers.Timer();
                        m_XTraderLoginTimer.AutoReset = false;
                        m_XTraderLoginTimer.Elapsed  += XTraderLoginTimerCallback;
                        m_XTraderLoginTimer.Interval  = waitTimeMinutes * (60000.0);   // minutes * (msecs/min)
                        m_XTraderLoginTimer.Enabled   = true;
                        return;
                    }
                }
                else
                {
                    m_XAPI.Start();
                }
            }
            else
            {
                if (m_Log != null)
                {
                    m_Log.NewEntry(LogLevel.Error, "XTraderInitComplete: Xtrader initialization failed. Exception {0}. Will try again.", ex.Message);
                }
                Thread.Sleep(10000);
                m_Dispatcher.BeginInvoke(new Action(m_XAPI.Start));
            }
        }//TT_XTraderInitComplete()
Exemplo n.º 13
0
        }//TT_LicenseIssueEventHandler()

        //
        //
        // *********************************************************************
        // ****                 TT API Shut Down Complete                   ****
        // *********************************************************************
        /// <summary>
        /// TT callback that is has properly shut down the TTAPI instance and we can complete our shutdown
        /// </summary>
        /// <param name="sender"></param>
        /// <param name="e"></param>
        private void TTAPI_ShutdownCompleted(object sender, EventArgs e)
        {
            m_UAPI = null;      // release pointers
            m_XAPI = null;

            if (m_Log != null)
            {
                m_Log.RequestStop();
                m_Log = null;
            }
            if (m_Dispatcher != null)
            {
                m_Dispatcher.BeginInvokeShutdown();
                m_Dispatcher = null;
            }

            OnStopping();       // signal our own shutdown
        }
 /// <summary>
 /// Init and start TT API.
 /// </summary>
 public void initTTAPI(XTraderModeTTAPI apiInstance, Exception ex)
 {
     m_TTAPI = apiInstance;
     m_TTAPI.ConnectionStatusUpdate += new EventHandler<ConnectionStatusUpdateEventArgs>(m_TTAPI_ConnectionStatusUpdate);
     m_TTAPI.ConnectToXTrader();
 }
 /// <summary>
 /// Init and start TT API.
 /// </summary>
 /// <param name="instance">XTraderModeTTAPI instance</param>
 /// <param name="ex">Any exception generated from the XTraderModeDelegate</param>
 public void initTTAPI(XTraderModeTTAPI apiInstance, Exception ex)
 {
     m_TTAPI = apiInstance;
     m_TTAPI.ConnectionStatusUpdate += ttapiInstance_ConnectionStatusUpdate;
     m_TTAPI.ConnectToXTrader();
 }
        /// <summary>
        /// Init and start TT API.
        /// Create a customer defaults scbscription.
        /// </summary>
        public void initTTAPI(XTraderModeTTAPI apiInstance, Exception ex)
        {
            m_TTAPI = apiInstance;
            m_TTAPI.ConnectionStatusUpdate += new EventHandler<ConnectionStatusUpdateEventArgs>(m_TTAPI_ConnectionStatusUpdate);
            m_TTAPI.ConnectToXTrader();

            m_customerDefaultsSubscription = new CustomerDefaultsSubscription(m_TTAPI.Session, m_dispatcher);
            m_customerDefaultsSubscription.CustomerDefaultsChanged += new EventHandler(m_customerDefaultsSubscription_CustomerDefaultsChanged);
            m_customerDefaultsSubscription.Start();
        }
 /// <summary>
 /// Window form closing event.
 /// Shutdown TT API and the dispatcher before exiting the application.
 /// </summary>
 private void frmSubmitOrder_FormClosing(object sender, FormClosingEventArgs e)
 {
     if (m_TTAPI != null)
     {
         m_TTAPI.Shutdown();
     }
     m_TTAPI = null;
     m_dispatcher.Dispose();
     m_dispatcher = null;
 }