#include <SMSTransformationChainConfig.hxx>
It is a polymorphic configuration that delegates this polymorphism to one of its members (
Definition at line 43 of file SMSTransformationChainConfig.hxx.
Public Member Functions | |
DYNAMIC_TYPE_USING_INTERFACE (SMSTransformationChaineeConfig, 1, ProcessingConfig) | |
DYN_ATTRIBUTE (0, public, std::string, ConcreteClassName) | |
Name of concrete Config class. | |
void | DefaultInit () |
Initialization for default constructor. | |
void | CopyInit (const SMSTransformationChaineeConfig &originalConfig) |
Initialization for copy constructor. | |
void | StoreOn (Storage &s) const |
Overriding virtual method in base class to store concrete configuration by hand as it is not a dynamic attribute. | |
void | LoadFrom (Storage &s) |
Overriding virtual method in base class to load concrete configuration by hand as it is not a dynamic attribute. | |
ProcessingConfig & | GetConcreteConfig () const |
Returns the concrete configuration as a reference to the base class. | |
void | SetConcreteConfig (const ProcessingConfig &cfg) |
Sets the concrete configuration, passing a reference to the base class. | |
virtual | ~SMSTransformationChaineeConfig () |
Virtual destructor. | |
void | AddConcreteConfig () |
Adds a new instantiated concrete configuration using the Concrete Class name as a type selector (ConcreteClassName must be set in advanced) deleting any previously existing concrete configuration. | |
Protected Member Functions | |
ProcessingConfig * | InstantiateConcreteConfig (const std::string &type) |
Instantiates a concrete configuration using input string as a type selector. | |
ProcessingConfig * | InstantiateConcreteConfig () |
Instantiates a concrete configuration using the ConcreteClassName attribute as a type selector (ConcreteClassName must be set in advanced). | |
Protected Attributes | |
ProcessingConfig * | mpConcreteConfig |
Actual pointer to the concrete configuration. |
CLAM::SMSTransformationChaineeConfig::~SMSTransformationChaineeConfig | ( | ) | [virtual] |
Virtual destructor.
Deletes pointer to concrete configuration
Definition at line 34 of file SMSTransformationChainConfig.cxx.
References mpConcreteConfig.
CLAM::SMSTransformationChaineeConfig::DYNAMIC_TYPE_USING_INTERFACE | ( | SMSTransformationChaineeConfig | , | |
1 | , | |||
ProcessingConfig | ||||
) |
CLAM::SMSTransformationChaineeConfig::DYN_ATTRIBUTE | ( | 0 | , | |
public | , | |||
std::string | , | |||
ConcreteClassName | ||||
) |
Name of concrete Config class.
void CLAM::SMSTransformationChaineeConfig::DefaultInit | ( | void | ) |
Initialization for default constructor.
All attributes are added, ConcreteClassName is set to "Unknown" and pointer to concrete configuration is set to null.
Reimplemented from CLAM::DynamicType.
Definition at line 41 of file SMSTransformationChainConfig.cxx.
References mpConcreteConfig, NULL, and CLAM::DynamicType::UpdateData().
void CLAM::SMSTransformationChaineeConfig::CopyInit | ( | const SMSTransformationChaineeConfig & | originalConfig | ) |
Initialization for copy constructor.
All dynamic attributes are added and copied from original configuration. Concrete Configuration is set 'by hand'.
Definition at line 49 of file SMSTransformationChainConfig.cxx.
References mpConcreteConfig, NULL, SetConcreteConfig(), and CLAM::DynamicType::UpdateData().
void CLAM::SMSTransformationChaineeConfig::StoreOn | ( | Storage & | s | ) | const [virtual] |
Overriding virtual method in base class to store concrete configuration by hand as it is not a dynamic attribute.
Reimplemented from CLAM::DynamicType.
Definition at line 57 of file SMSTransformationChainConfig.cxx.
References mpConcreteConfig, and CLAM::DynamicType::StoreOn().
void CLAM::SMSTransformationChaineeConfig::LoadFrom | ( | Storage & | s | ) | [virtual] |
Overriding virtual method in base class to load concrete configuration by hand as it is not a dynamic attribute.
Reimplemented from CLAM::DynamicType.
Definition at line 63 of file SMSTransformationChainConfig.cxx.
References InstantiateConcreteConfig(), CLAM::DynamicType::LoadFrom(), and mpConcreteConfig.
ProcessingConfig& CLAM::SMSTransformationChaineeConfig::GetConcreteConfig | ( | ) | const [inline] |
Returns the concrete configuration as a reference to the base class.
Definition at line 67 of file SMSTransformationChainConfig.hxx.
References mpConcreteConfig.
void CLAM::SMSTransformationChaineeConfig::SetConcreteConfig | ( | const ProcessingConfig & | cfg | ) | [inline] |
Sets the concrete configuration, passing a reference to the base class.
Note though, that the actual object referenced must be a concrete configuration of the same class indicated by the ConcreteClassName attribute.
Definition at line 72 of file SMSTransformationChainConfig.hxx.
References AddConcreteConfig(), and mpConcreteConfig.
Referenced by CLAM::SMSTransformationChainConfig::AddConfiguration(), and CopyInit().
void CLAM::SMSTransformationChaineeConfig::AddConcreteConfig | ( | ) | [inline] |
Adds a new instantiated concrete configuration using the Concrete Class name as a type selector (ConcreteClassName must be set in advanced) deleting any previously existing concrete configuration.
Definition at line 85 of file SMSTransformationChainConfig.hxx.
References InstantiateConcreteConfig(), and mpConcreteConfig.
Referenced by SetConcreteConfig().
ProcessingConfig * CLAM::SMSTransformationChaineeConfig::InstantiateConcreteConfig | ( | const std::string & | type | ) | [protected] |
Instantiates a concrete configuration using input string as a type selector.
Definition at line 70 of file SMSTransformationChainConfig.cxx.
References CLAM_ASSERT.
ProcessingConfig* CLAM::SMSTransformationChaineeConfig::InstantiateConcreteConfig | ( | ) | [inline, protected] |
Instantiates a concrete configuration using the ConcreteClassName attribute as a type selector (ConcreteClassName must be set in advanced).
Definition at line 100 of file SMSTransformationChainConfig.hxx.
Referenced by AddConcreteConfig(), and LoadFrom().
Actual pointer to the concrete configuration.
It is a pointer to base class but the object is always an instance of a concrete one.
Definition at line 108 of file SMSTransformationChainConfig.hxx.
Referenced by AddConcreteConfig(), CopyInit(), DefaultInit(), GetConcreteConfig(), LoadFrom(), SetConcreteConfig(), StoreOn(), and ~SMSTransformationChaineeConfig().