public static ScriptTaskContext ExeContext(bool debugging = true, ServiceManager services = null) { ScriptTaskContext taskContext = new ScriptTaskContext(); RuntimeErrors = new RuntimeErrorCollector(); taskContext.SetErrorListener(RuntimeErrors.ReportError); var logger = new LoggerRoot("", false, "TestRun", "Starting"); if (debugging) { logger.IsDebugging = true; } var taskStatusUpdater = new Mocks.ExecutionScopeStatusUpdaterMock(); ILoadedFilesManager loadedFiles = null; TaskManager taskManager = null; if (services != null) { loadedFiles = services.Get <ILoadedFilesManager>(); taskManager = services.Get <TaskManager>(); } else { IService service; loadedFiles = new LoadedFilesManager(out service); taskManager = new TaskManager(out service); } taskContext.Setup(logger.m_rootLogger, ContextLogOption.Normal, taskStatusUpdater, loadedFiles, taskManager); return(taskContext); }
protected override void Start(ServiceManager manager, ITaskContext context) { m_logger = manager.Get <IMainLogger>().Logger.RootLogger; m_loadedFilesManager = manager.Get <ILoadedFilesManager>(); m_logSinkManager = manager.Get <ILogSinkManager>(); m_taskManager = manager.Get <TaskManager>(); }
public void Setup( ILogger logger, ContextLogOption callerLoggingOption, IExecutionScopeStatusUpdate statusUpdate, ILoadedFilesManager loadedFilesManager, TaskManager taskManager) { m_logger = logger; m_logOption = callerLoggingOption; m_statusUpdate = statusUpdate; m_loadedFilesManager = loadedFilesManager; m_taskManager = taskManager; }
public FileExplorer() { this.InitializeComponent(); if (StepBro.Core.Main.IsInitialized) { m_fileManager = StepBro.Core.Main.GetService <ILoadedFilesManager>(); m_fileManager.FileLoaded += this.FileManager_FileLoaded; m_fileManager.FileClosed += this.FileManager_FileClosed; refreshTimer.Stop(); refreshTimer.Start(); } }
public ParsingErrorListView() { this.InitializeComponent(); if (StepBro.Core.Main.IsInitialized) { m_fileManager = StepBro.Core.Main.GetService <ILoadedFilesManager>(); m_fileManager.FileLoaded += this.FileManager_FileLoaded; m_fileManager.FileClosed += this.FileManager_FileClosed; foreach (var file in m_fileManager.ListFiles <IScriptFile>()) { file.Errors.EventListChanged += this.Errors_EventListChanged; } } }
public ScriptExecutionTask( ILogger logger, ILogSinkManager logSinkManager, ILoadedFilesManager filesManager, TaskManager taskManager, IFileElement targetElement, object[] arguments) { m_logger = logger; m_logSinkManager = logSinkManager; m_filesManager = filesManager; m_taskManager = taskManager; m_targetElement = targetElement; m_arguments = arguments; m_taskContext = new ScriptTaskContext(); m_statusUpdate = new ExecutionScopeStatusUpdaterMock(); }
internal static void DeinitializeInternal(bool reset) { m_loadedFilesManager.UnloadAllFilesWithoutDependants(); TaskContextDummy taskContext = new TaskContextDummy(); m_serviceManagerAdmin.StopServices(taskContext, reset); if (reset) { m_serviceManagerAdmin = null; m_mainLogger = null; m_loadedFilesManager = null; m_addonManager = null; m_logSinkManager = null; m_scriptExecutionManager = null; m_dynamicObjectManager = null; m_uiCalculator = null; m_serviceManagerAdmin = ServiceManager.Create(); } }
public static void Initialize(IEnumerable <IService> hostServices = null) { IService service; m_mainLogger = new MainLogger(out service); m_rootLogger = m_mainLogger.Logger.RootLogger; m_serviceManagerAdmin.Manager.Register(service); m_loadedFilesManager = new LoadedFilesManager(out service); m_serviceManagerAdmin.Manager.Register(service); m_addonManager = new AddonManager( (IAddonManager m) => { // **** LOAD THE ADDON MODULES **** m.AddAssembly(typeof(DateTime).Assembly, false); m.AddAssembly(typeof(Enumerable).Assembly, false); m.AddAssembly(typeof(Math).Assembly, false); m.AddAssembly(AddonManager.StepBroCoreAssembly, true); var modulesFolder = Path.Combine(Path.GetDirectoryName(typeof(AddonManager).Assembly.Location), "Modules"); foreach (var f in Directory.GetFiles(modulesFolder, "*.dll")) { m.LoadAssembly(f, false); } }, out service); m_serviceManagerAdmin.Manager.Register(service); m_logSinkManager = new LogSinkManager(out service); m_serviceManagerAdmin.Manager.Register(service); m_taskManager = new TaskManager(out service); m_serviceManagerAdmin.Manager.Register(service); m_hostActions = new HostApplicationActionQueue(out service); m_serviceManagerAdmin.Manager.Register(service); m_scriptExecutionManager = new ScriptExecutionManager(out service); m_serviceManagerAdmin.Manager.Register(service); m_dynamicObjectManager = new DynamicObjectManager(out service); m_serviceManagerAdmin.Manager.Register(service); m_uiCalculator = new UICalculator(out service); m_serviceManagerAdmin.Manager.Register(service); if (hostServices != null) { foreach (var hs in hostServices) { m_serviceManagerAdmin.Manager.Register(hs); } } TaskContextDummy taskContext = new TaskContextDummy(); try { m_serviceManagerAdmin.StartServices(taskContext); } catch (Exception ex) { // Roll back (stop) the services that actually did start. try { m_serviceManagerAdmin.StopServices(taskContext); } catch { /* Ignore exceptions during stop */ } throw new Exception("Failed to start all services. " + ex.GetType().Name + ", " + ex.ToString()); } m_initialized = true; m_initIndex++; }