コード例 #1
0
        public void Subscribe()
        {
            _tradeDeskEventsSink = new TradeDeskEventsSinkClass();
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged           += new ITradeDeskEvents_OnRowChangedEventHandler(_adapter.tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged += new ITradeDeskEvents_OnSessionStatusChangedEventHandler(_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            _subscriptionResponse = _desk.Subscribe(_tradeDeskEventsSink);

            SystemMonitor.Report("FXCM Service Subscribed");
        }
コード例 #2
0
        public void Unsubscribe()
        {
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged           -= new ITradeDeskEvents_OnRowChangedEventHandler(_adapter.tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged -= new ITradeDeskEvents_OnSessionStatusChangedEventHandler(_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            if (_subscriptionResponse != -1)
            {
                _desk.Unsubscribe(_subscriptionResponse);
                _tradeDeskEventsSink = null;
            }
        }
コード例 #3
0
        /// <summary>
        /// Managed thread entrance only.
        /// </summary>
        void Managed_Unsubscribe()
        {
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged           -= new ITradeDeskEvents_OnRowChangedEventHandler(Managed_tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged -= new ITradeDeskEvents_OnSessionStatusChangedEventHandler(Managed_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            if (_subscriptionId != -1)
            {
                TradeDeskAut desk = _desk;
                if (desk == null)
                {
                    return;
                }

                desk.Unsubscribe(_subscriptionId);
                _tradeDeskEventsSink = null;
            }
        }
コード例 #4
0
        /// <summary>
        /// Managed thread entrance only.
        /// </summary>
        void Managed_Subscribe()
        {
            if (_tradeDeskEventsSink == null)
            {
                _tradeDeskEventsSink = new TradeDeskEventsSinkClass();
                _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged           += new ITradeDeskEvents_OnRowChangedEventHandler(Managed_tdSink_ITradeDeskEvents_Event_OnRowChanged);
                _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged += new ITradeDeskEvents_OnSessionStatusChangedEventHandler(Managed_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);
            }

            TradeDeskAut desk = _desk;

            if (_desk == null)
            {
                return;
            }

            _subscriptionId = desk.Subscribe(_tradeDeskEventsSink);
        }
コード例 #5
0
        /// <summary>
        ///
        /// </summary>
        public void Dispose()
        {
            ChangeOperationalState(OperationalStateEnum.Disposed);

            _desk = null;
            _core = null;
            _tradeDeskEventsSink = null;

            BackgroundMessageLoopOperator messageLoopOperator = _messageLoopOperator;

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

            _messageLoopOperator = null;

            GC.Collect();
        }
コード例 #6
0
        public void Unsubscribe()
        {
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged -= new ITradeDeskEvents_OnRowChangedEventHandler(_adapter.tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged -= new ITradeDeskEvents_OnSessionStatusChangedEventHandler(_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            if (_subscriptionResponse != -1)
            {
                _desk.Unsubscribe(_subscriptionResponse);
                _tradeDeskEventsSink = null;
            }
        }
コード例 #7
0
        public void Subscribe()
        {
            _tradeDeskEventsSink = new TradeDeskEventsSinkClass();
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged += new ITradeDeskEvents_OnRowChangedEventHandler(_adapter.tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged += new ITradeDeskEvents_OnSessionStatusChangedEventHandler(_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            _subscriptionResponse = _desk.Subscribe(_tradeDeskEventsSink);

            SystemMonitor.Report("FXCM Service Subscribed");
        }
コード例 #8
0
        /// <summary>
        /// Managed thread entrance only.
        /// </summary>
        void Managed_Unsubscribe()
        {
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged -= new ITradeDeskEvents_OnRowChangedEventHandler(Managed_tdSink_ITradeDeskEvents_Event_OnRowChanged);
            _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged -= new ITradeDeskEvents_OnSessionStatusChangedEventHandler(Managed_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);

            if (_subscriptionId != -1)
            {
                TradeDeskAut desk = _desk;
                if (desk == null)
                {
                    return;
                }

                desk.Unsubscribe(_subscriptionId);
                _tradeDeskEventsSink = null;
            }
        }
コード例 #9
0
        /// <summary>
        /// Managed thread entrance only.
        /// </summary>
        void Managed_Subscribe()
        {
            if (_tradeDeskEventsSink == null)
            {
                _tradeDeskEventsSink = new TradeDeskEventsSinkClass();
                _tradeDeskEventsSink.ITradeDeskEvents_Event_OnRowChanged += new ITradeDeskEvents_OnRowChangedEventHandler(Managed_tdSink_ITradeDeskEvents_Event_OnRowChanged);
                _tradeDeskEventsSink.ITradeDeskEvents_Event_OnSessionStatusChanged += new ITradeDeskEvents_OnSessionStatusChangedEventHandler(Managed_tradeDeskEventsSink_ITradeDeskEvents_Event_OnSessionStatusChanged);
            }

            TradeDeskAut desk = _desk;
            if (_desk == null)
            {
                return;
            }

            _subscriptionId = desk.Subscribe(_tradeDeskEventsSink);
        }
コード例 #10
0
        /// <summary>
        /// 
        /// </summary>
        public void Dispose()
        {
            ChangeOperationalState(OperationalStateEnum.Disposed);

            _desk = null;
            _core = null;
            _tradeDeskEventsSink = null;

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

            _messageLoopOperator = null;

            GC.Collect();
        }