// #endregion//Private Methods #region Service Event Handlers // ***************************************************************** // **** Event Handlers **** // ***************************************************************** private void TTService_ServiceStateChanged(object sender, EventArgs eventArgs) { if (m_IsShuttingDown) { return; } if (eventArgs is TTServices.TTApiService.ServiceStatusChangeEventArgs) { TTServices.TTApiService.ServiceStatusChangeEventArgs e = (TTServices.TTApiService.ServiceStatusChangeEventArgs)eventArgs; if (e.IsConnected) { m_PriceListener = new PriceListener("PriceListener", Log); m_PriceListener.InstrumentsFound += new EventHandler(PriceListener_InstrumentsFound); m_PriceListener.ProcessPriceChangeEvents = new PriceListener.ProcessPriceChangeDelegate(PriceListener_ProcessMarketEvents); m_PriceListener.Start(); m_FillListener = new FillListener("FillListener"); m_FillListener.Log = Log; m_FillListener.Filled += new EventHandler(FillListener_Filled); m_FillListener.Start(); m_OrderListener = new OrderListenerMsgr("OrderListener", Log); m_OrderListener.Message += new EventHandler(OrderListener_Message); m_OrderListener.Start(); } else { } } }// TTServices_ServiceStateChanged()
}//SetText() // // #endregion//Private Methods #region External Service Event Handlers // ***************************************************************** // **** Form Event Handlers **** // ***************************************************************** // // // // **** TTServices_ServiceStateChanged() **** // private void TTServices_ServiceStateChanged(object sender, EventArgs eventArgs) { if (m_IsAppShuttingDown) { return; } if (eventArgs is TTServices.TTApiService.ServiceStatusChangeEventArgs) { TTServices.TTApiService.ServiceStatusChangeEventArgs e = (TTServices.TTApiService.ServiceStatusChangeEventArgs)eventArgs; if (e.IsConnected) { Log.NewEntry(Misty.Lib.Hubs.LogLevel.Major, "TTServices connected."); SetText(txtAPIConnected, "connected"); if (m_MarketHub != null) { m_MarketHub.Connect(); } if (m_FillHub != null) { m_FillHub.Connect(); } } else { Log.NewEntry(Misty.Lib.Hubs.LogLevel.Major, "TTServices disconnected."); //SetText(txtAPIConnected, "disconnected"); if (m_TTServices != null) { m_TTServices.Dispose(); m_TTServices = null; } } } }// TTServices_ServiceStateChanged()
}//TryCreateNewBook() // // // #endregion//Private Methods #region no Event Handlers // ***************************************************************** // **** Event Handlers **** // ***************************************************************** // // /// <summary> /// Called by the TTService object once the API has connected. /// </summary> /// <param name="sender"></param> /// <param name="eventArg"></param> private void TTService_ServiceStatusChanged(object sender, EventArgs eventArg) { TTServices.TTApiService.ServiceStatusChangeEventArgs ttServiceEvent = (TTServices.TTApiService.ServiceStatusChangeEventArgs)eventArg; if (ttServiceEvent.IsConnected) { if (m_OrderListener == null) // use this to recall whether we've already connected or not. { m_OrderListener = new OrderListener("OrderListener", this); m_OrderListener.Start(); } } }
} // ProcessFeedStatusChange() // // // ***************************************************************** // **** Process Feed Status Change() **** // ***************************************************************** private void ProcessTTApiServiceChange(TTServices.TTApiService.ServiceStatusChangeEventArgs eventArg) { if (eventArg.IsConnected) { if (m_PriceListener == null) // use the existance of a listner to recall if we've already connected to TTservice. { Session session = m_TTService.session; session.MarketCatalog.MarketsUpdated += new EventHandler <MarketCatalogUpdatedEventArgs>(MarketCatalog_Updated); session.MarketCatalog.FeedStatusChanged += new EventHandler <FeedStatusChangedEventArgs>(MarketCatalog_FeedStatusChanged); m_PriceListener = new PriceListener("PriceListener", base.Log); m_PriceListener.InstrumentsFound += new EventHandler(this.HubEventEnqueue); m_PriceListener.m_Market = this; m_PriceListener.ProcessPriceChangeEvents = new PriceListener.ProcessPriceChangeDelegate(this.PriceListener_ProcessPriceChangeEvents); m_PriceListener.Start(); } } }//ProcessTTApiServiceChange()