public Fix44MessageHandler(MessageHandlerCommandFactory commandFactory,
                            IFixMessageGenerator messageGenerator,
                            IFixFacade fixFacade,
                            Func<string> execIdGenerator)
 {
     _commandFactory = commandFactory;
     _messageGenerator = messageGenerator;
     _fixFacade = fixFacade;
     _execIdGenerator = execIdGenerator;
 }
Beispiel #2
0
 public Fix42MessageHandler(MessageHandlerCommandFactory commandFactory,
                            IFixMessageGenerator messageGenerator,
                            IFixFacade fixFacade,
                            Func <string> execIdGenerator)
 {
     _commandFactory   = commandFactory;
     _messageGenerator = messageGenerator;
     _fixFacade        = fixFacade;
     _execIdGenerator  = execIdGenerator;
 }
Beispiel #3
0
 public FixServerFacade(ClientApplication app,
                        IExecIDGenerator execIDGenerator,
                        IFixMessageGenerator fixMessageGenerator)
 {
     _app = app;
     _execIDGenerator = execIDGenerator;
     _fixMessageGenerator = fixMessageGenerator;
     _app.Fix44ExecReportEvent += HandleExecutionReport;
     _app.LogonEvent += HandleLogon;
     _app.LogoutEvent += HandleLogout;
 }
Beispiel #4
0
 public ICommand CreateSendAcceptOrderCancel(IFixMessageGenerator messageGenerator,
                                             IOrder cancelledOrder,
                                             string execID,
                                             FixSessionID sessionID)
 {
     return(new SendAcceptOrderCancel(messageGenerator,
                                      _sessionMediator,
                                      cancelledOrder,
                                      execID,
                                      sessionID));
 }
Beispiel #5
0
 public FixServerFacade(ClientApplication app,
                        IExecIDGenerator execIDGenerator,
                        IFixMessageGenerator fixMessageGenerator)
 {
     _app                       = app;
     _execIDGenerator           = execIDGenerator;
     _fixMessageGenerator       = fixMessageGenerator;
     _app.Fix44ExecReportEvent += HandleExecutionReport;
     _app.LogonEvent           += HandleLogon;
     _app.LogoutEvent          += HandleLogout;
 }
Beispiel #6
0
 public ICommand CreateAddOrder(IFixMessageGenerator fixMessageGenerator,
                                FixSessionID sessionID,
                                OrderData orderData,
                                string execID)
 {
     return(new AddOrder(this,
                         fixMessageGenerator,
                         _orderMediator,
                         sessionID,
                         orderData,
                         execID));
 }
 public SendAcceptOrderCancel(IFixMessageGenerator messageGenerator,
                              SessionMediator sessionMediator,
                              IOrder cancelledOrder,
                              string execID,
                              FixSessionID sessionID)
 {
     _messageGenerator = messageGenerator;
     _sessionMediator = sessionMediator;
     _order = cancelledOrder;
     _execID = execID;
     _sessionID = sessionID;
 }
Beispiel #8
0
 public ClientApplication(
     QuickFix.SessionSettings settings,
     IFixMessageGenerator messageGenerator,
     IFixStrategy strategy,
     IMessageSink messageSink)
 {
     _messageGenerator = messageGenerator;
     _strategy         = strategy;
     _messageSink      = messageSink;
     ActiveSessionID   = null;
     MySessionSettings = settings;
 }
Beispiel #9
0
 public ICommand CreateAddOrder(IFixMessageGenerator fixMessageGenerator,
                                FixSessionID sessionID,
                                OrderData orderData,
                                string execID)
 {
     return new AddOrder(this,
                         fixMessageGenerator,
                         _orderMediator,
                         sessionID,
                         orderData,
                         execID);
 }
 public void EnqueueAddOrder(IFixMessageGenerator messageGenerator,
                             SessionID sessionID,
                             OrderData orderData,
                             string execID)
 {
     var internalSessionID = _sessionMediator.LookupInternalSessionID(sessionID);
     var cmd = _commandFactory.CreateAddOrder(messageGenerator,
                                              internalSessionID,
                                              orderData,
                                              execID);
     _commandFactory.IncomingQueue.Enqueue(cmd);
 }
 public SendAcceptOrderCancel(IFixMessageGenerator messageGenerator,
                              SessionMediator sessionMediator,
                              IOrder cancelledOrder,
                              string execID,
                              FixSessionID sessionID)
 {
     _messageGenerator = messageGenerator;
     _sessionMediator  = sessionMediator;
     _order            = cancelledOrder;
     _execID           = execID;
     _sessionID        = sessionID;
 }
Beispiel #12
0
 public ClientApplication(
     QuickFix.SessionSettings settings,
     IFixMessageGenerator messageGenerator,
     IFixStrategy strategy,
     IMessageSink messageSink)
 {
     _messageGenerator = messageGenerator;
     _strategy = strategy;
     _messageSink = messageSink;
     ActiveSessionID = null;
     MySessionSettings = settings;
 }
Beispiel #13
0
        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);
        }
Beispiel #14
0
        public void EnqueueAddOrder(IFixMessageGenerator messageGenerator,
                                    SessionID sessionID,
                                    OrderData orderData,
                                    string execID)
        {
            var internalSessionID = _sessionMediator.LookupInternalSessionID(sessionID);
            var cmd = _commandFactory.CreateAddOrder(messageGenerator,
                                                     internalSessionID,
                                                     orderData,
                                                     execID);

            _commandFactory.IncomingQueue.Enqueue(cmd);
        }
Beispiel #15
0
        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));
        }
Beispiel #16
0
 public AddOrder(CommandFactory commandFactory,
                 IFixMessageGenerator fixMessageGenerator,
                 OrderMediator orderMediator,
                 FixSessionID sessionID,
                 OrderData orderData,
                 string execID)
 {
     _commandFactory      = commandFactory;
     _fixMessageGenerator = fixMessageGenerator;
     _orderMediator       = orderMediator;
     _sessionID           = sessionID;
     _orderData           = orderData;
     _execID = execID;
 }
Beispiel #17
0
 public AddOrder(CommandFactory commandFactory,
                 IFixMessageGenerator fixMessageGenerator,
                 OrderMediator orderMediator,
                 FixSessionID sessionID,
                 OrderData orderData,
                 string execID)
 {
     _commandFactory = commandFactory;
     _fixMessageGenerator = fixMessageGenerator;
     _orderMediator = orderMediator;
     _sessionID = sessionID;
     _orderData = orderData;
     _execID = execID;
 }
Beispiel #18
0
        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();
        }
Beispiel #19
0
        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();
        }
Beispiel #20
0
 public ICommand CreateSendRejectNewOrder(IFixMessageGenerator fixMessageGenerator,
                                          FixSessionID sessionID,
                                          OrderData orderData,
                                          string execID,
                                          string rejectionMessage,
                                          int?rejectionCode)
 {
     return(new SendRejectNewOrder(fixMessageGenerator,
                                   _sessionMediator,
                                   orderData,
                                   execID,
                                   rejectionMessage,
                                   rejectionCode,
                                   sessionID));
 }
Beispiel #21
0
 public ICommand CreateCancelOrder(IFixMessageGenerator fixMessageGenerator,
                                   FixSessionID sessionID,
                                   long orderID,
                                   string clOrdID,
                                   string origClOrdID,
                                   string execID)
 {
     return(new CancelOrder(this,
                            fixMessageGenerator,
                            _orderMediator,
                            sessionID,
                            orderID,
                            clOrdID,
                            origClOrdID,
                            execID));
 }
Beispiel #22
0
 public SendRejectNewOrder(IFixMessageGenerator messageGenerator,
                           SessionMediator sessionMediator,
                           OrderData orderData,
                           string execID,
                           string rejectionMessage,
                           int?rejectionCode,
                           FixSessionID sessionID)
 {
     _messageGenerator = messageGenerator;
     _sessionMediator  = sessionMediator;
     _order            = orderData;
     _execID           = execID;
     _rejectionMessage = rejectionMessage;
     _rejectionCode    = rejectionCode;
     _sessionID        = sessionID;
 }
 public void EnqueueCancelOrder(IFixMessageGenerator messageGenerator,
                                SessionID sessionID,
                                long orderID,
                                string clOrdID,
                                string origClOrdID,
                                string execID)
 {
     var internalSessionID = _sessionMediator.LookupInternalSessionID(sessionID);
     var cmd = _commandFactory.CreateCancelOrder(messageGenerator,
                                                 internalSessionID,
                                                 orderID,
                                                 clOrdID,
                                                 origClOrdID,
                                                 execID);
     _commandFactory.IncomingQueue.Enqueue(cmd);
 }
Beispiel #24
0
 public SendRejectNewOrder(IFixMessageGenerator messageGenerator,
                           SessionMediator sessionMediator,
                           OrderData orderData,
                           string execID,
                           string rejectionMessage,
                           int? rejectionCode,
                           FixSessionID sessionID)
 {
     _messageGenerator = messageGenerator;
     _sessionMediator = sessionMediator;
     _order = orderData;
     _execID = execID;
     _rejectionMessage = rejectionMessage;
     _rejectionCode = rejectionCode;
     _sessionID = sessionID;
 }
Beispiel #25
0
 public ICommand CreateCancelOrder(IFixMessageGenerator fixMessageGenerator,
                                   FixSessionID sessionID,
                                   long orderID,
                                   string clOrdID,
                                   string origClOrdID,
                                   string execID)
 {
     return new CancelOrder(this,
                            fixMessageGenerator,
                            _orderMediator,
                            sessionID,
                            orderID,
                            clOrdID,
                            origClOrdID,
                            execID);
 }
Beispiel #26
0
 public ICommand CreateSendRejectOrderCancel(IFixMessageGenerator messageGenerator,
                                             int rejectionReason,
                                             string rejectionReasonText,
                                             long orderID,
                                             string clOrdID,
                                             string origClOrdID,
                                             FixSessionID sessionID)
 {
     return(new SendRejectOrderCancel(messageGenerator,
                                      _sessionMediator,
                                      rejectionReason,
                                      rejectionReasonText,
                                      orderID,
                                      clOrdID,
                                      origClOrdID,
                                      sessionID));
 }
Beispiel #27
0
        public void EnqueueCancelOrder(IFixMessageGenerator messageGenerator,
                                       SessionID sessionID,
                                       long orderID,
                                       string clOrdID,
                                       string origClOrdID,
                                       string execID)
        {
            var internalSessionID = _sessionMediator.LookupInternalSessionID(sessionID);
            var cmd = _commandFactory.CreateCancelOrder(messageGenerator,
                                                        internalSessionID,
                                                        orderID,
                                                        clOrdID,
                                                        origClOrdID,
                                                        execID);

            _commandFactory.IncomingQueue.Enqueue(cmd);
        }
 public SendRejectOrderCancel(IFixMessageGenerator messageGenerator,
                              SessionMediator sessionMediator,
                              int rejectionReason,
                              string rejectionReasonText,
                              long orderID,
                              string clOrdID,
                              string origClOrdID,
                              FixSessionID sessionID)
 {
     _messageGenerator = messageGenerator;
     _sessionMediator = sessionMediator;
     _rejectionReason = rejectionReason;
     _rejectionReasonText = rejectionReasonText;
     _orderID = orderID;
     _clOrdID = clOrdID;
     _origClOrdID = origClOrdID;
     _sessionID = sessionID;
 }
Beispiel #29
0
 public CancelOrder(CommandFactory commandFactory,
                    IFixMessageGenerator messageGenerator,
                    OrderMediator orderMediator,
                    FixSessionID sessionID,
                    long orderID,
                    string clOrdID,
                    string origClOrdID,
                    string execID)
 {
     _commandFactory = commandFactory;
     _messageGenerator = messageGenerator;
     _orderMediator = orderMediator;
     _sessionID = sessionID;
     _orderID = orderID;
     _clOrdID = clOrdID;
     _origClOrdID = origClOrdID;
     _execID = execID;
 }
 public SendRejectOrderCancel(IFixMessageGenerator messageGenerator,
                              SessionMediator sessionMediator,
                              int rejectionReason,
                              string rejectionReasonText,
                              long orderID,
                              string clOrdID,
                              string origClOrdID,
                              FixSessionID sessionID)
 {
     _messageGenerator    = messageGenerator;
     _sessionMediator     = sessionMediator;
     _rejectionReason     = rejectionReason;
     _rejectionReasonText = rejectionReasonText;
     _orderID             = orderID;
     _clOrdID             = clOrdID;
     _origClOrdID         = origClOrdID;
     _sessionID           = sessionID;
 }
Beispiel #31
0
 public CancelOrder(CommandFactory commandFactory,
                    IFixMessageGenerator messageGenerator,
                    OrderMediator orderMediator,
                    FixSessionID sessionID,
                    long orderID,
                    string clOrdID,
                    string origClOrdID,
                    string execID)
 {
     _commandFactory   = commandFactory;
     _messageGenerator = messageGenerator;
     _orderMediator    = orderMediator;
     _sessionID        = sessionID;
     _orderID          = orderID;
     _clOrdID          = clOrdID;
     _origClOrdID      = origClOrdID;
     _execID           = execID;
 }
        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;
        }
Beispiel #33
0
        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);
        }
Beispiel #34
0
 public ICommand CreateSendRejectNewOrder(IFixMessageGenerator fixMessageGenerator,
                                          FixSessionID sessionID,
                                          OrderData orderData,
                                          string execID,
                                          string rejectionMessage,
                                          int? rejectionCode)
 {
     return new SendRejectNewOrder(fixMessageGenerator,
                                   _sessionMediator,
                                   orderData,
                                   execID,
                                   rejectionMessage,
                                   rejectionCode,
                                   sessionID);
 }
Beispiel #35
0
 public ICommand CreateSendRejectOrderCancel(IFixMessageGenerator messageGenerator,
                                             int rejectionReason,
                                             string rejectionReasonText,
                                             long orderID,
                                             string clOrdID,
                                             string origClOrdID,
                                             FixSessionID sessionID)
 {
     return new SendRejectOrderCancel(messageGenerator,
                                      _sessionMediator,
                                      rejectionReason,
                                      rejectionReasonText,
                                      orderID,
                                      clOrdID,
                                      origClOrdID,
                                      sessionID);
 }
Beispiel #36
0
 public ICommand CreateSendAcceptOrderCancel(IFixMessageGenerator messageGenerator,
                                             IOrder cancelledOrder,
                                             string execID,
                                             FixSessionID sessionID)
 {
     return new SendAcceptOrderCancel(messageGenerator,
                                      _sessionMediator,
                                      cancelledOrder,
                                      execID,
                                      sessionID);
 }