2015-04-15 18:32:56 +00:00
|
|
|
|
///
|
|
|
|
|
|
/// Copyright (c) 2013-2015 Sensus Metering Systems
|
|
|
|
|
|
///
|
|
|
|
|
|
using System.Collections.Generic;
|
2014-07-28 07:54:35 +00:00
|
|
|
|
|
|
|
|
|
|
namespace TBF.BenchControl.Generic
|
|
|
|
|
|
{
|
|
|
|
|
|
public interface IComponentFactory
|
|
|
|
|
|
{
|
|
|
|
|
|
string ClassName { get; } /// Name of the class of components (for instance "Valve")
|
|
|
|
|
|
|
2015-06-29 09:14:33 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Returns a dummy component without configuration useful only for runtime class type identification
|
|
|
|
|
|
/// Usage: if (TbfComponents.CmpntFactoryFromClassName(className).DummyComponent() is IValve) { ... }
|
|
|
|
|
|
/// </summary>
|
|
|
|
|
|
IComponent DummyComponent();
|
|
|
|
|
|
|
2014-07-28 07:54:35 +00:00
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Returns the default configuration
|
|
|
|
|
|
/// </summary>
|
2015-01-02 18:14:19 +00:00
|
|
|
|
IComponentCfg DefaultConfig();
|
2014-07-28 07:54:35 +00:00
|
|
|
|
|
|
|
|
|
|
/// <summary>
|
|
|
|
|
|
/// Converts an Entities.Component object into an instance of an appropriate class implementing IComponentCfg
|
|
|
|
|
|
/// </summary>
|
2015-12-04 16:17:20 +00:00
|
|
|
|
IComponentCfg CmpntCfgFromCmpntEntity(Config.Entities.Component component);
|
2014-07-28 07:54:35 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
void ResetStaticProperties();
|
|
|
|
|
|
}
|
|
|
|
|
|
}
|