/// <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); }
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"); }