CLAM::SMSTransformationChaineeConfig Class Reference

Special Processing config that can be used inside a SMSTransformationChainConfig. More...

#include <SMSTransformationChainConfig.hxx>

List of all members.

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.
ProcessingConfigGetConcreteConfig () 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

ProcessingConfigInstantiateConcreteConfig (const std::string &type)
 Instantiates a concrete configuration using input string as a type selector.
ProcessingConfigInstantiateConcreteConfig ()
 Instantiates a concrete configuration using the ConcreteClassName attribute as a type selector (ConcreteClassName must be set in advanced).

Protected Attributes

ProcessingConfigmpConcreteConfig
 Actual pointer to the concrete configuration.

Detailed Description

Special Processing config that can be used inside a SMSTransformationChainConfig.

It is a polymorphic configuration that delegates this polymorphism to one of its members (

See also:
mpConcreteConfig) and has access to the concrete class through its name stored in a dynamic attribute (ConcreteClassName)

Definition at line 43 of file SMSTransformationChainConfig.hxx.


Constructor & Destructor Documentation

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.


Member Function Documentation

CLAM::SMSTransformationChaineeConfig::__COMMON_DYN_ATTRIBUTE ( ,
public  ,
std::string  ,
ConcreteClassName   
) [inline]

Name of concrete Config class.

Definition at line 48 of file SMSTransformationChainConfig.hxx.

CLAM::SMSTransformationChaineeConfig::__COMMON_DYNAMIC_TYPE ( SMSTransformationChaineeConfig  ,
 
)
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().


Member Data Documentation

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().


The documentation for this class was generated from the following files:
Generated by  doxygen 1.6.3