Example #1
0
        }//constructor

        //
        //
        #endregion//Constructors

        #region Public Methods
        // *****************************************************************
        // ****                     Public Methods                      ****
        // *****************************************************************
        //
        //
        public override void RequestStop()
        {       // Request gentle shut down
            QueryBuilderHubRequest e = new QueryBuilderHubRequest();

            e.Request = QueryBuilderHubRequestCode.Stop;
            this.HubEventEnqueue(e);
        }
Example #2
0
        //
        //
        /// <summary>
        /// Called by external thread to request that the hub thread create a
        /// query to check to make sure out database has the
        /// instrument details supplied
        /// correctly in the database.
        /// </summary>
        /// <param name="instrDetails"></param>
        public void RequestCheckInstrDBDetails(InstrumentDetails instrDetails)
        {
            QueryBuilderHubRequest e = new QueryBuilderHubRequest();

            e.Request = QueryBuilderHubRequestCode.RequestCheckDBInstrDetails;
            e.Data.Add(instrDetails);
            this.HubEventEnqueue(e);
        }
Example #3
0
        }// ProcessQueryBuildEvent()

        //
        //
        //
        /// <summary>
        /// called by the hub thread to process a request to create a query for instrument details
        /// </summary>
        /// <param name="requestArg"></param>
        private void ProcessRquestDBInstrDetails(QueryBuilderHubRequest requestArg)
        {
            Log.NewEntry(LogLevel.Minor, "ProcessCheckDBInstrDetails: Processing Request");
            foreach (object obj in requestArg.Data)
            {
                InstrumentDetails instrDetails = (InstrumentDetails)obj;
                // TODO CALL DB INSTRUMENT METHODS FROM HERE
            }
        }
Example #4
0
        //
        //
        //
        #endregion//Private Methods

        #region Hub Event Handler
        // *****************************************************************
        // ****                     Event Handlers                     ****
        // *****************************************************************
        //
        protected override void HubEventHandler(EventArgs[] eArgList)
        {
            foreach (EventArgs e in eArgList)
            {
                if (e is BarEventArgs)
                {       // This is a bar event.  It was pushed onto me from the data hub.
                    if (!m_IsShuttingDown)
                    {
                        m_EventList.Enqueue((BarEventArgs)e);
                    }
                }
                else if (e is QueryBuilderHubRequest)
                { // this is an request to do something besides baring data!
                    QueryBuilderHubRequest requestArg = (QueryBuilderHubRequest)e;
                    switch (requestArg.Request)
                    {
                    case QueryBuilderHubRequestCode.Stop:
                        m_IsShuttingDown = true;
                        break;

                    case QueryBuilderHubRequestCode.RequestCheckDBInstrDetails:
                        ProcessRquestDBInstrDetails(requestArg);            // not fully implemented
                        break;

                    default:
                        Log.NewEntry(LogLevel.Error, "HubEventHandler : QueryBuilderHub {0} not implemented", requestArg.ToString());
                        break;
                    }
                }
                else
                {
                    Log.NewEntry(LogLevel.Error, "Unknown event type: {0}", e.ToString());
                }
            }
            // Process Queries
            if (m_IsShuttingDown || m_EventList.Count >= WriteBlockSize)
            {
                ProcessQueryBuildEvent();
            }
            if (m_IsShuttingDown)
            {
                base.Stop();
            }
        }//HubEventHandler()