/// /// Copyright (c) 2013-2016 Sensus Metering Systems /// using System.Collections.Generic; namespace TBF.BenchControl.Generic { public interface IComponentCfg { /// /// 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 /// Config.Entities.DebugMode DebugLevel { get; set; } /// /// Log level, 0 = logging off /// Config.Entities.LogLevel LogLevel { get; set; } /// /// Measurement correction values /// IList Corrections { get; set; } /// /// Creates a new database entity 'Component' from the parameters /// Config.Entities.Component CreateDbEntity(); /// /// Object instance factory-like methods /// IComponentCfgCtrl GetControl(); /// /// Procedure parameters provider support /// IParamsProvider GetProcedureParams(); void UpdateProcedureParams(Config.Entities.Procedure procedure); IParamsProvider CreateProcedureParams(Config.Entities.Procedure procedure); /// /// Test parameters provider support /// IParamsProvider GetTestParams(); void UpdateTestParams(Config.Entities.Test test); IParamsProvider CreateTestParams(Config.Entities.Test test); string ToString(int i); } }