/// <summary>
 /// Returns the single instance of the primary work manager to ensure that there is never more than one primary work manger active at any one time
 /// this is the only approved method of getting the primary work manager.
 /// </summary>
 /// <returns>The instance of the primary work manager for the mex viewer</returns>
 internal static PrimaryWorkManager GetPrimaryWorkManager()
 {
     if (sm_primaryWM == null)
     {
         sm_primaryWM = new PrimaryWorkManager();
     }
     return(sm_primaryWM);
 }
示例#2
0
        private MexCore()
        {
            //Bilge.Log("MexCore::MexCore - Core being initialised");

            EventEntryStoreFactory esf   = new EventEntryStoreFactory();
            DataManager            dm    = new DataManager(esf);
            OriginIdentityStore    store = new OriginIdentityStore();
            RawEntryParserChain    rapc  = RawEntryParserChain.CreateChain(RawEntryParserChain.ALL_LINK, store);
            DataParser             dp    = new DataParser(store, rapc, dm);
            ImportManager          im    = new ImportManager(dp);

            //Bilge.Log("MexCore::MexCore - Diagnostics being initialised");
            Diagnostics = new MexDiagnosticManager();

            //Bilge.Log("MexCore::MexCore - about to start Options");
            Options = new MexOptions();

            //Bilge.Log("MexCore::MexCore - about to start WorkManager");
            WorkManager = PrimaryWorkManager.GetPrimaryWorkManager();

            //Bilge.Log("MexCore::MexCore - about to start DataStructures");
            DataManager = new DataStructureManager();

            //Bilge.Log("MexCore::MexCore - about to start IncommingMessageManager");
            MessageManager = IncomingMessageManager.Current;
            //MessageManager.AddFlimFlamCompatibility(im);

            //Bilge.Log("MexCore::MexCore - about to start ViewManager");
            ViewManager = new ViewSupportManager();

            //Bilge.Log("MexCore::MexCore - about to start CacheManager");
            CacheManager = new CacheSupportManager();

            //Bilge.Log("MexCore::MexCore - Starting CoreWorkerThread");
            m_coreExecutionThread      = new Thread(new ThreadStart(CoreThreadLoop));
            m_coreExecutionThread.Name = "MexCoreThread";

            //Bilge.Log("MexCore::MexCore - Construction complete");
        }