Special Processing config that can be used inside a SMSTransformationChainConfig. More...
#include <SMSTransformationChainConfig.hxx>
Public Member Functions | |
SMSTransformationChaineeConfig () | |
SMSTransformationChaineeConfig (const SMSTransformationChaineeConfig &prototype, const bool shareData=false, const bool deep=true) | |
__COMMON_DYNAMIC_TYPE (SMSTransformationChaineeConfig, 1) | |
__COMMON_DYN_ATTRIBUTE (0, public, std::string, ConcreteClassName) protected | |
Name of concrete Config class. | |
bool | LoadConcreteClassName (CLAM::Storage &s) |
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. |
Special Processing config that can be used inside a SMSTransformationChainConfig.
It is a polymorphic configuration that delegates this polymorphism to one of its members (
Definition at line 43 of file SMSTransformationChainConfig.hxx.
CLAM::SMSTransformationChaineeConfig::SMSTransformationChaineeConfig | ( | ) | [inline] |
Definition at line 46 of file SMSTransformationChainConfig.hxx.
CLAM::SMSTransformationChaineeConfig::SMSTransformationChaineeConfig | ( | const SMSTransformationChaineeConfig & | prototype, | |
const bool | shareData = false , |
|||
const bool | deep = true | |||
) | [inline] |
Definition at line 46 of file SMSTransformationChainConfig.hxx.
CLAM::SMSTransformationChaineeConfig::~SMSTransformationChaineeConfig | ( | ) | [virtual] |
Virtual destructor.
Deletes pointer to concrete configuration
Definition at line 26 of file SMSTransformationChainConfig.cxx.
CLAM::SMSTransformationChaineeConfig::__COMMON_DYN_ATTRIBUTE | ( | 0 | , | |
public | , | |||
std::string | , | |||
ConcreteClassName | ||||
) | [inline] |
Name of concrete Config class.
Definition at line 48 of file SMSTransformationChainConfig.hxx.
CLAM::SMSTransformationChaineeConfig::__COMMON_DYNAMIC_TYPE | ( | SMSTransformationChaineeConfig | , | |
1 | ||||
) |
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().
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 41 of file SMSTransformationChainConfig.cxx.
References mpConcreteConfig, NULL, and CLAM::DynamicType::UpdateData().
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 33 of file SMSTransformationChainConfig.cxx.
References 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.
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 InstantiateConcreteConfig().
ProcessingConfig * CLAM::SMSTransformationChaineeConfig::InstantiateConcreteConfig | ( | const std::string & | type | ) | [protected] |
Instantiates a concrete configuration using input string as a type selector.
Definition at line 62 of file SMSTransformationChainConfig.cxx.
References InstantiateConcreteConfig(), LoadFrom(), and mpConcreteConfig.
bool CLAM::SMSTransformationChaineeConfig::LoadConcreteClassName | ( | CLAM::Storage & | s | ) | [inline] |
Definition at line 48 of file SMSTransformationChainConfig.hxx.
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 55 of file SMSTransformationChainConfig.cxx.
Referenced by InstantiateConcreteConfig().
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 StoreOn().
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 49 of file SMSTransformationChainConfig.cxx.
References mpConcreteConfig, NULL, SetConcreteConfig(), and CLAM::DynamicType::UpdateData().
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(), InstantiateConcreteConfig(), SetConcreteConfig(), and StoreOn().