/// <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();
        }
Пример #2
0
        protected override bool OnStop(out string operationResultMessage)
        {
            operationResultMessage = string.Empty;

            // Stop the orders and data before dumping the manager.
            _orders.UnInitialize();
            _data.UnInitialize();

            DisposeManager();

            base.StatusSynchronizationSource = null;
            StatusSynchronizationEnabled     = false;

            ChangeOperationalState(OperationalStateEnum.NotOperational);

            return(true);
        }