/// <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;
 }
示例#5
0
        /// <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));
 }