tbf/TestBenchFramework/BenchControl/Generic/IComponentCfg.cs
2015-04-15 20:32:56 +02:00

73 lines
1.8 KiB
C#

///
/// Copyright (c) 2013-2015 Sensus Metering Systems
///
using System.Collections.Generic;
namespace TBF.BenchControl.Generic
{
public interface IComponentCfg
{
/// <summary>
/// Unique component # (0 .. nr.of components-1)
/// </summary>
int ItemNr { get; set; }
/// <summary>
/// Component name
/// </summary>
string Name { get; set; }
/// <summary>
/// Reference to the component factory (it is a singleton)
/// </summary>
IComponentFactory Factory { get; set; }
/// <summary>
/// Component class / component type name
/// </summary>
string ParentName { get; set; }
/// <summary>
/// Debug level, 0 = debugging off
/// </summary>
Entities.DebugMode DebugLevel { get; set; }
/// <summary>
/// Log level, 0 = logging off
/// </summary>
Entities.LogLevel LogLevel { get; set; }
/// <summary>
/// Measurement correction values
/// </summary>
IList<Entities.MeasurementCorrection> Corrections { get; set; }
/// <summary>
/// Creates a new database entity 'Component' from the parameters
/// </summary>
TBF.Entities.Component CreateDbEntity();
///
/// Object instance factory-like methods
///
IComponent GetComponent(IList<IComponent> components);
IComponentCfgCtrl GetControl();
///
/// Procedure parameters provider support
///
IParamsProvider GetProcedureParams();
void UpdateProcedureParams(Entities.Procedure procedure);
IParamsProvider CreateProcedureParams(Entities.Procedure procedure);
///
/// Test parameters provider support
///
IParamsProvider GetTestParams();
void UpdateTestParams(Entities.Test test);
IParamsProvider CreateTestParams(Entities.Test test);
string ToString(int i);
}
}