CMS 3D CMS Logo

Public Member Functions | Private Member Functions | Private Attributes

FWCompositeParameter Class Reference

#include <Fireworks/Core/interface/FWCompositeParameter.h>

Inheritance diagram for FWCompositeParameter:
FWParameterBase FWParameterizable FWConfigurable

List of all members.

Public Member Functions

virtual void addTo (FWConfiguration &) const
 FWCompositeParameter (FWParameterizable *iParent, const std::string &iName, unsigned int iVersion=1)
virtual void setFrom (const FWConfiguration &)
virtual ~FWCompositeParameter ()

Private Member Functions

 FWCompositeParameter (const FWCompositeParameter &)
const FWCompositeParameteroperator= (const FWCompositeParameter &)

Private Attributes

unsigned int m_version

Detailed Description

Description: <one line="" class="" summary>="">

Usage: <usage>

Definition at line 30 of file FWCompositeParameter.h.


Constructor & Destructor Documentation

FWCompositeParameter::FWCompositeParameter ( FWParameterizable iParent,
const std::string &  iName,
unsigned int  iVersion = 1 
)

Definition at line 34 of file FWCompositeParameter.cc.

                                                                  :
   FWParameterBase(iParent,iName),
   m_version(iVersion)
{
}
FWCompositeParameter::~FWCompositeParameter ( ) [virtual]

Definition at line 47 of file FWCompositeParameter.cc.

{
}
FWCompositeParameter::FWCompositeParameter ( const FWCompositeParameter ) [private]

Member Function Documentation

void FWCompositeParameter::addTo ( FWConfiguration oTo) const [virtual]

Implements FWConfigurable.

Definition at line 88 of file FWCompositeParameter.cc.

References FWConfiguration::addKeyValue(), FWParameterizable::begin(), dbtoconf::conf, FWParameterizable::end(), m_version, and FWParameterBase::name().

{
   FWConfiguration conf(m_version);

   for(const_iterator it =begin(), itEnd = end();
       it != itEnd;
       ++it) {
      (*it)->addTo(conf);
   }
//   std::for_each(begin(), end(),
//                 boost::bind(&FWParameterBase::addTo,_1,conf));

   oTo.addKeyValue(name(),conf,true);
}
const FWCompositeParameter& FWCompositeParameter::operator= ( const FWCompositeParameter ) [private]
void FWCompositeParameter::setFrom ( const FWConfiguration iFrom) [virtual]

Implements FWConfigurable.

Definition at line 67 of file FWCompositeParameter.cc.

References FWParameterizable::begin(), FWParameterizable::end(), FWConfiguration::keyValues(), m_version, FWParameterBase::name(), FWConfiguration::valueForKey(), and FWConfiguration::version().

{
   //need a way to handle versioning
   const FWConfiguration* mine = iFrom.valueForKey(name());
   const FWConfiguration::KeyValues* keyVals = mine->keyValues();

   assert(0!=mine);
   assert(mine->version()==m_version);
   assert(0 != keyVals);

   for(const_iterator it =begin(), itEnd = end();
       it != itEnd;
       ++it) {
      (*it)->setFrom(*mine);
   }
}

Member Data Documentation

unsigned int FWCompositeParameter::m_version [private]

Definition at line 53 of file FWCompositeParameter.h.

Referenced by addTo(), and setFrom().