public ScanEngineHelper(ScanEnginePartConfig config, params IScanEnginePlugin [] pluginParamsArray) { Config = new ScanEnginePartConfig(config); Logger = new Logging.Logger(Name); AddRange(Config.PluginsToAddSet); AddRange(pluginParamsArray); }
public ScanEnginePart(ScanEnginePartConfig config, params IScanEnginePlugin[] pluginParamsArray) : base(config.Name, initialSettings: SimpleActivePartBaseSettings.DefaultVersion2.Build(waitTimeLimit: config.NominalServicePeriod, partBaseIVI: config.PartBaseIVI, disableBusyBehavior: true)) { ActionLoggingConfig = Modular.Action.ActionLoggingConfig.Debug_Debug_Trace_Trace; // redefine the log levels for actions Config = new ScanEnginePartConfig(config); PrivateBaseState.SetSimulated(false, true); scanEngineHelper = new ScanEngineHelper(config, pluginParamsArray); }
/// <summary> /// Copy constructor. /// </summary> public ScanEnginePartConfig(ScanEnginePartConfig other) { Name = other.Name; IConfig = other.IConfig ?? Config.Instance; IValuesInterconnection fallbackIVI = other.PartBaseIVI ?? other.PlugInsIVI ?? Values.Instance; PartBaseIVI = other.PartBaseIVI ?? fallbackIVI; PlugInsIVI = other.PlugInsIVI ?? fallbackIVI; Installed = other.Installed; NominalRateInHz = other.NominalRateInHz; _pluginsToAddList = other._pluginsToAddList; // no need to clone: it is already readonly. _pluginsToAddSet = other._pluginsToAddSet; }
public ScanEnginePart(ScanEnginePartConfig config, IEnumerable <IScanEnginePlugin> pluginSet) : this(config, pluginSet.ToArray()) { }