tbf/TBF/BenchControl/Generic/IComponentCfg.cs

111 lines
3.2 KiB
C#

///
/// Copyright (c) 2013-2021 Sensus Slovensko a.s.
///
using System.Collections.Generic;
using Config.Entities;
namespace TBF.BenchControl.Generic
{
public interface IComponentCfg
{
int Id { get; set; }
/// <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>
DebugMode DebugLevel { get; set; }
/// <summary>
/// Log level, 0 = logging off
/// </summary>
LogLevel LogLevel { get; set; }
/// <summary>
/// Measurement correction values
/// </summary>
IList<MeasurementCorrection> Corrections { get; set; }
/// <summary>
/// Measurement correction values
/// </summary>
IList<Uncertainty> Uncertainties { get; set; }
/// <summary>
/// Creates a new database entity 'Component' from the parameters
/// </summary>
Component CreateDbEntity();
///
/// Object instance factory-like methods
///
IComponentCfgCtrl GetControl(IList<Component> cmpntEntities);
/// <summary>
/// Creates a procedure parameters provider (specific for each component).
/// </summary>
/// <returns>Prodedure parameters provider or null</returns>
IParamsProvider CreateProcParamsProvider();
/// <summary>
/// Returns runtime procedure parameters provider - one per component updated by LoadProcedureParamsFromDB(...).
/// </summary>
/// <returns>Prodedure parameters provider or null</returns>
IParamsProvider GetRuntimeProcParamsProvider();
/// <summary>
/// Returns UI procedure parameters provider - one per ComponentProcedure DB entity.
/// </summary>
/// <returns>Prodedure parameters provider or null</returns>
IParamsProvider GetUIProcParamsProvider(Procedure procedure);
/// <summary>
/// Creates a test parameters provider (specific for each component).
/// </summary>
/// <returns>Test parameters provider or null</returns>
IParamsProvider CreateTestParamsProvider();
/// <summary>
/// Returns runtime test parameters provider - one per component updated by LoadtestParamsFromDB(...).
/// </summary>
/// <returns>Test parameters provider or null</returns>
IParamsProvider GetRuntimeTestParamsProvider();
/// <summary>
/// Returns UI test parameters provider - one per ComponentTest DB entity.
/// </summary>
/// <returns>Test parameters provider or null</returns>
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);
}
}