예제 #1
0
        /// <summary>Inherited</summary>
        public void LoadModule(ModuleInfo moduleInfo)
        {
            Assembly           assembly    = LoadAssembly(moduleInfo);
            IModuleBootstraper bootstraper = CreateBootstraper(assembly);

            ExecuteOnLoad(bootstraper);
            RegisterModule(moduleInfo, bootstraper);
        }
예제 #2
0
 private void ExecuteOnLoad(IModuleBootstraper bootstraper)
 {
     using (var waitHandle = new AutoResetEvent(false))
     {
         Action @delegate = () =>
         {
             bootstraper.OnLoad();
             waitHandle.Set();
         };
         _guiThreadProvider.RunInGui(@delegate);
         waitHandle.WaitOne();
     }
 }
예제 #3
0
파일: ModuleLoader.cs 프로젝트: psla/Nomad
 private void RegisterModule(ModuleInfo moduleInfo, IModuleBootstraper bootstraper)
 {
     _loadedModules.Add(bootstraper);
     _loadedModuleInfos.Add(moduleInfo);
 }
예제 #4
0
파일: ModuleLoader.cs 프로젝트: psla/Nomad
 private void ExecuteOnLoad(IModuleBootstraper bootstraper)
 {
     using (var waitHandle = new AutoResetEvent(false))
     {
         Action @delegate = () =>
                                {
                                    bootstraper.OnLoad();
                                    waitHandle.Set();
                                };
         _guiThreadProvider.RunInGui(@delegate);
         waitHandle.WaitOne();
     }
 }
예제 #5
0
 private void RegisterModule(ModuleInfo moduleInfo, IModuleBootstraper bootstraper)
 {
     _loadedModules.Add(bootstraper);
     _loadedModuleInfos.Add(moduleInfo);
 }