/// <summary>
        ///
        /// </summary>
        public void Dispose()
        {
            lock (this)
            {
                if (_orders != null)
                {
                    _orders.UnInitialize();
                    _orders.Dispose();
                    _orders = null;
                }

                if (_adapter != null)
                {
                    _adapter = null;
                }

                if (_core != null)
                {
                    _desk = null;
                    _core = null;
                }

                if (_messageLoopOperator != null)
                {
                    _messageLoopOperator.Stop();
                    _messageLoopOperator.Dispose();
                    _messageLoopOperator = null;
                }

                ChangeOperationalState(OperationalStateEnum.Disposed);
            }

            //GC.Collect();
        }
        /// <summary>
        ///
        /// </summary>
        public void UnInitialize()
        {
            _manager = null;
            _adapter = null;

            ChangeOperationalState(OperationalStateEnum.NotOperational);
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        public FXCMOrders(FXCMAdapter adapter, OrderExecutionSourceStub stub)
        {
            _adapter = adapter;

            StatusSynchronizationEnabled = true;
            StatusSynchronizationSource = adapter;

            _stub = stub;
            _stub.Initialize(this);
        }
Exemple #4
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public FXCMOrders(FXCMAdapter adapter, OrderExecutionSourceStub stub)
        {
            _adapter = adapter;

            StatusSynchronizationEnabled = true;
            StatusSynchronizationSource  = adapter;

            _stub = stub;
            _stub.Initialize(this);
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        public FXCMConnectionManager(FXCMAdapter adapter)
        {
            ChangeOperationalState(OperationalStateEnum.Constructed);

            _subscriptionResponse = -1;
            _adapter             = adapter;
            _messageLoopOperator = new BackgroundMessageLoopOperator(false);
            _orders = new FXCMOrders(_messageLoopOperator);

            _messageLoopOperator.Start();
        }
        /// <summary>
        /// Constructor.
        /// </summary>
        public FXCMConnectionManager(FXCMAdapter adapter)
        {
            ChangeOperationalState(OperationalStateEnum.Constructed);

            _subscriptionResponse = -1;
            _adapter = adapter;
            _messageLoopOperator = new BackgroundMessageLoopOperator(false);
            _orders = new FXCMOrders(_messageLoopOperator);

            _messageLoopOperator.Start();
        }
        /// <summary>
        ///
        /// </summary>
        public bool Initialize(FXCMAdapter adapter, FXCMConnectionManager manager)
        {
            SystemMonitor.CheckError(_messageLoopOperator.InvokeRequred == false, "Init must better be called on message loop method.");

            //TODO: Guess what this piece does
            StatusSynchronizationEnabled = true;
            StatusSynchronizationSource  = manager;

            _adapter = adapter;
            _manager = manager;

            ChangeOperationalState(OperationalStateEnum.Operational);

            return(true);
        }
Exemple #8
0
        /// <summary>
        /// Constructor.
        /// </summary>
        public FXCMData(FXCMAdapter adapter, DataSourceStub stub)
        {
            _adapter = adapter;

            _dataSourceStub = stub;
            _dataSourceStub.Initialize(this);

            StatusSynchronizationEnabled = true;
            StatusSynchronizationSource  = adapter;

            foreach (string symbol in ForexSymbols)
            {
                _dataSourceStub.AddSuggestedSymbol(new Symbol(Symbol.SymbolGroup.Forex, symbol));
            }
        }
Exemple #9
0
        public int IsDataSourceSymbolCompatible(ComponentId dataSourceId, Symbol symbol)
        {
            FXCMAdapter adapter = _adapter;

            if (adapter != null &&
                adapter.DataSourceId.HasValue &&
                adapter.DataSourceId.Value.Id == dataSourceId &&
                adapter.Data.Stub.IsSuggestedSymbol(symbol))
            {
                return(int.MaxValue);
            }
            else
            {
                return(0);
            }
        }
        /// <summary>
        /// 
        /// </summary>
        public bool Initialize(FXCMAdapter adapter, FXCMConnectionManager manager)
        {
            SystemMonitor.CheckError(_messageLoopOperator.InvokeRequred == false, "Init must better be called on message loop method.");

            //TODO: Guess what this piece does
            StatusSynchronizationEnabled = true;
            StatusSynchronizationSource = manager;

            _adapter = adapter;
            _manager = manager;

            ChangeOperationalState(OperationalStateEnum.Operational);

            return true;
        }
        /// <summary>
        /// 
        /// </summary>
        public void Dispose()
        {
            lock (this)
            {
                if (_orders != null)
                {
                    _orders.UnInitialize();
                    _orders.Dispose();
                    _orders = null;
                }

                if (_adapter != null)
                {
                    _adapter = null;
                }

                if (_core != null)
                {
                    _desk = null;
                    _core = null;
                }

                if (_messageLoopOperator != null)
                {
                    _messageLoopOperator.Stop();
                    _messageLoopOperator.Dispose();
                    _messageLoopOperator = null;
                }

                ChangeOperationalState(OperationalStateEnum.Disposed);
            }

            //GC.Collect();
        }
Exemple #12
0
 public void Dispose()
 {
     _adapter        = null;
     _dataSourceStub = null;
 }
 public void Dispose()
 {
     _adapter = null;
     _stub = null;
 }
Exemple #14
0
 public void Dispose()
 {
     _adapter = null;
     _stub    = null;
 }
        /// <summary>
        /// 
        /// </summary>
        public void UnInitialize()
        {
            _manager = null;
            _adapter = null;

            ChangeOperationalState(OperationalStateEnum.NotOperational);
        }
 public void Dispose()
 {
     _adapter = null;
     _manager = null;
 }
 public void Dispose()
 {
     _adapter = null;
     _manager = null;
 }