/// <summary> /// Initializes a new instance of the <see cref="PluginFrameworkSimulatorForm" /> class. /// </summary> /// <param name="simulator">The <see cref="IPluginFrameworkSimulator" /> that will drive this instance.</param> /// <exception cref="ArgumentNullException"><paramref name="simulator" /> is null.</exception> public PluginFrameworkSimulatorForm(IPluginFrameworkSimulator simulator) : this() { _simulator = simulator ?? throw new ArgumentNullException(nameof(simulator)); _criticalSectionForm = new CriticalSectionMockForm(simulator); _dataLoggerForm = new DataLoggerMockForm(simulator); // Initialize config control last, since it is the one that will be displayed initially InitializeExecutionEngine(); InitializeConfigurationControl(); label_PluginType.Text = simulator.PluginAssemblyName; string lastAccessedFileName = UserAppDataRegistry.GetValue("PluginDataLocation") as string; if (!string.IsNullOrEmpty(lastAccessedFileName)) { try { ImportConfigurationData(lastAccessedFileName, false); } catch (Exception ex) { MessageBox.Show(ex.ToString(), "Import Error", MessageBoxButtons.OK, MessageBoxIcon.Error); //Couldn't load. Return to clean state. ClearConfigurationData(); } } }
private static void EnableConfigurationServices(IPluginFrameworkSimulator simulator) { ConfigurationServices.AssetInventory = simulator.AssetInventory; ConfigurationServices.DocumentLibrary = simulator.DocumentLibrary; ConfigurationServices.EnvironmentConfiguration = simulator.EnvironmentConfiguration; ConfigurationServices.SystemTrace = simulator.SystemTrace; }
/// <summary> /// Enables and disables framework services according to the specified <see cref="FrameworkServicesContext" />. /// </summary> /// <param name="simulator">The <see cref="IPluginFrameworkSimulator" />.</param> /// <param name="context">The <see cref="FrameworkServicesContext" />.</param> /// <exception cref="ArgumentNullException"><paramref name="simulator" /> is null.</exception> public static void SetServiceContext(this IPluginFrameworkSimulator simulator, FrameworkServicesContext context) { if (simulator == null) { throw new ArgumentNullException(nameof(simulator)); } ClearServices(); switch (context) { case FrameworkServicesContext.Configuration: EnableConfigurationServices(simulator); break; case FrameworkServicesContext.Execution: EnableExecutionServices(simulator); break; case FrameworkServicesContext.ConfigurationConstructor: ConfigurationServices.SystemTrace = simulator.SystemTrace; break; case FrameworkServicesContext.ExecutionConstructor: ExecutionServices.SystemTrace = simulator.SystemTrace; break; case FrameworkServicesContext.All: EnableConfigurationServices(simulator); EnableExecutionServices(simulator); break; } }
private static void EnableExecutionServices(IPluginFrameworkSimulator simulator) { ExecutionServices.CriticalSection = simulator.CriticalSection; ExecutionServices.DataLogger = simulator.DataLogger; ExecutionServices.FileRepository = simulator.FileRepository; ExecutionServices.SessionRuntime = simulator.SessionRuntime; ExecutionServices.SystemTrace = simulator.SystemTrace; }
/// <summary> /// Initializes a new instance of the <see cref="DataLoggerMockForm" /> class. /// </summary> /// <param name="simulator">The <see cref="IPluginFrameworkSimulator" /> managing the data to display.</param> /// <exception cref="ArgumentNullException"><paramref name="simulator" /> is null.</exception> public DataLoggerMockForm(IPluginFrameworkSimulator simulator) : this() { _simulator = simulator ?? throw new ArgumentNullException(nameof(simulator)); if (_simulator.DataLogger is IDataLoggerMock mock) { mock.TableAdded += DataLogger_TableAdded; } }
/// <summary> /// Creates an <see cref="IPluginExecutionEngine" /> from an <see cref="IPluginFrameworkSimulator" />. /// </summary> /// <param name="simulator">The <see cref="IPluginFrameworkSimulator" />.</param> /// <returns>A new <see cref="IPluginExecutionEngine" />, or null if the execution engine type is not set.</returns> /// <exception cref="ArgumentNullException"><paramref name="simulator" /> is null.</exception> public static IPluginExecutionEngine CreateExecutionEngine(this IPluginFrameworkSimulator simulator) { if (simulator == null) { throw new ArgumentNullException(nameof(simulator)); } if (simulator.ExecutionEngineType != null) { return((IPluginExecutionEngine)Activator.CreateInstance(simulator.ExecutionEngineType)); } else { return(null); } }
/// <summary> /// Creates an <see cref="IPluginConfigurationControl" /> from an <see cref="IPluginFrameworkSimulator" />. /// </summary> /// <param name="simulator">The <see cref="IPluginFrameworkSimulator" />.</param> /// <returns>A new <see cref="IPluginConfigurationControl" />, or null if the configuration control type is not set.</returns> /// <exception cref="ArgumentNullException"><paramref name="simulator" /> is null.</exception> public static IPluginConfigurationControl CreateConfigurationControl(this IPluginFrameworkSimulator simulator) { if (simulator == null) { throw new ArgumentNullException(nameof(simulator)); } if (simulator.ConfigurationControlType != null) { return((IPluginConfigurationControl)Activator.CreateInstance(simulator.ConfigurationControlType)); } else { return(null); } }
/// <summary> /// Initializes a new instance of the <see cref="CriticalSectionMockForm" /> class. /// </summary> /// <param name="simulator">The <see cref="IPluginFrameworkSimulator" /> to configure.</param> /// <exception cref="ArgumentNullException"><paramref name="simulator" /> is null.</exception> public CriticalSectionMockForm(IPluginFrameworkSimulator simulator) : this() { _simulator = simulator ?? throw new ArgumentNullException(nameof(simulator)); }