///
/// 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);
}
}