/// /// Copyright (c) 2013-2021 Sensus Slovensko a.s. /// using System.Collections.Generic; using Common; using Config.Entities; namespace TBF.Rig.Generic { public interface IComponentCfg { int Id { get; set; } /// /// Unique component # (0 .. nr.of components-1) /// int ItemNr { get; set; } /// /// Component name /// string Name { get; set; } /// /// Reference to the component factory (it is a singleton) /// IComponentFactory Factory { get; set; } /// /// Component class / component type name /// string ParentName { get; set; } /// /// Debug level, 0 = debugging off /// DebugMode DebugLevel { get; set; } /// /// Log level, 0 = logging off /// LogLevel LogLevel { get; set; } /// /// Measurement correction values /// IList Corrections { get; set; } /// /// Measurement correction values /// IList Uncertainties { get; set; } /// /// Creates a new database entity 'Component' from the parameters /// Component CreateDbEntity(); /// /// Object instance factory-like methods /// IComponentCfgCtrl GetControl(IList cmpntEntities); /// /// Creates a procedure parameters provider (specific for each component). /// /// Prodedure parameters provider or null IParamsProvider CreateProcParamsProvider(); /// /// Returns runtime procedure parameters provider - one per component updated by LoadProcedureParamsFromDB(...). /// /// Prodedure parameters provider or null IParamsProvider GetRuntimeProcParamsProvider(); /// /// Returns UI procedure parameters provider - one per ComponentProcedure DB entity. /// /// Prodedure parameters provider or null IParamsProvider GetUIProcParamsProvider(Procedure procedure); /// /// Creates a test parameters provider (specific for each component). /// /// Test parameters provider or null IParamsProvider CreateTestParamsProvider(); /// /// Returns runtime test parameters provider - one per component updated by LoadtestParamsFromDB(...). /// /// Test parameters provider or null IParamsProvider GetRuntimeTestParamsProvider(); /// /// Returns UI test parameters provider - one per ComponentTest DB entity. /// /// Test parameters provider or null IParamsProvider GetUITestParamsProvider(Test test); /// /// Used in run time when a procedure is loaded or a test is started /// void LoadProcedureParamsFromDB(Procedure procedure); void LoadTestParamsFromDB(Test test); string ToString(int i); } }