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; }
}//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); } }
/// <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); } }
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; } }
/// <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(); } }
/// <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; } }
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); } }
/// <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); } }
}// 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()
}//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; }