public ClientApplication( QuickFix.SessionSettings settings, IFixMessageGenerator messageGenerator, IFixStrategy strategy, IMessageSink messageSink) { _messageGenerator = messageGenerator; _strategy = strategy; _messageSink = messageSink; ActiveSessionID = null; MySessionSettings = settings; }
public static IServerFacade CreateFixServer(string configFilepath, IFixStrategy fixStrategy, IExecIDGenerator execIDGenerator, IFixMessageGenerator messageGenerator, IMessageSink messageSink) { var clientApp = ClientApplicationFactory.Create(configFilepath, fixStrategy, messageGenerator, messageSink); return new FixServerFacade(clientApp, execIDGenerator, messageGenerator); }
public static IServerFacade CreateFixServer(string configFilepath, IFixStrategy fixStrategy, IExecIDGenerator execIDGenerator, IFixMessageGenerator messageGenerator, IMessageSink messageSink) { var clientApp = ClientApplicationFactory.Create(configFilepath, fixStrategy, messageGenerator, messageSink); return(new FixServerFacade(clientApp, execIDGenerator, messageGenerator)); }
public void Run( string configFilepath, IFixStrategy strategy, IFixMessageGenerator messageGenerator, IMessageSink messageSink, IExecIDGenerator execIDGenerator, IClOrdIDGenerator clOrdIDGenerator) { _server = ServerFacadeFactory.CreateFixServer(configFilepath, strategy, execIDGenerator, messageGenerator, messageSink); var atOrderRepository = new ATOrderRepository(); var atOrderMediator = new ATOrderMediator(atOrderRepository, _server, clOrdIDGenerator); // Setup the data contexts for the child views in the main view // Ideally we'd do this in each view but due to the need to pass _app and the // message sink to the view models for expediency purposes we do it here var mainWindow = new MainWindow { ATOrderBook = { DataContext = new ATOrderBookViewModel(_server, atOrderMediator) }, OrderBook = { DataContext = new OrderBookViewModel(_server, clOrdIDGenerator, messageSink) }, ConnectionView = { DataContext = new ConnectionViewModel(_server, messageSink) } }; // Set the main UI dispatcher SmartDispatcher.SetDispatcher(mainWindow.Dispatcher); // Send messages to the status bar messageSink.SetMessageSink( s => { var vm = (ConnectionViewModel)mainWindow.ConnectionView.DataContext; SmartDispatcher.Invoke(() => vm.StatusMessage = s); }); _server.Start(); mainWindow.Show(); }
public void Run( string configFilepath, IFixStrategy strategy, IFixMessageGenerator messageGenerator, IMessageSink messageSink, IExecIDGenerator execIDGenerator, IClOrdIDGenerator clOrdIDGenerator) { _server = ServerFacadeFactory.CreateFixServer(configFilepath, strategy, execIDGenerator, messageGenerator, messageSink); var atOrderRepository = new ATOrderRepository(); var atOrderMediator = new ATOrderMediator(atOrderRepository, _server, clOrdIDGenerator); // Setup the data contexts for the child views in the main view // Ideally we'd do this in each view but due to the need to pass _app and the // message sink to the view models for expediency purposes we do it here var mainWindow = new MainWindow { ATOrderBook = { DataContext = new ATOrderBookViewModel(_server, atOrderMediator) }, OrderBook = { DataContext = new OrderBookViewModel(_server, clOrdIDGenerator, messageSink) }, ConnectionView = { DataContext = new ConnectionViewModel(_server, messageSink) } }; // Set the main UI dispatcher SmartDispatcher.SetDispatcher(mainWindow.Dispatcher); // Send messages to the status bar messageSink.SetMessageSink( s => { var vm = (ConnectionViewModel) mainWindow.ConnectionView.DataContext; SmartDispatcher.Invoke(() => vm.StatusMessage = s); }); _server.Start(); mainWindow.Show(); }
public static ClientApplication Create(string configFilepath, IFixStrategy strategy, IFixMessageGenerator messageGenerator, IMessageSink messageSink) { // FIX app settings and related var settings = new QuickFix.SessionSettings(configFilepath); strategy.SessionSettings = settings; // FIX application setup var storeFactory = new QuickFix.FileStoreFactory(settings); var logFactory = new QuickFix.FileLogFactory(settings); var app = new ClientApplication(settings, messageGenerator, strategy, messageSink); var initiator = new QuickFix.Transport.SocketInitiator(app, storeFactory, settings, logFactory); app.Initiator = initiator; return app; }
public static ClientApplication Create(string configFilepath, IFixStrategy strategy, IFixMessageGenerator messageGenerator, IMessageSink messageSink) { // FIX app settings and related var settings = new QuickFix.SessionSettings(configFilepath); strategy.SessionSettings = settings; // FIX application setup var storeFactory = new QuickFix.FileStoreFactory(settings); var logFactory = new QuickFix.FileLogFactory(settings); var app = new ClientApplication(settings, messageGenerator, strategy, messageSink); var initiator = new QuickFix.Transport.SocketInitiator(app, storeFactory, settings, logFactory); app.Initiator = initiator; return(app); }