| The Gaudi Framework v29r0 (ff2e7097)

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

Typedefs | Functions | Variables
PropertyMgr.h File Reference
`#include <iostream>`
`#include <stdexcept>`
`#include <utility>`
`#include <vector>`
`#include "GaudiKernel/DataObjectHandleProperty.h"`
`#include "GaudiKernel/IProperty.h"`
`#include "GaudiKernel/Property.h"`
Include dependency graph for PropertyMgr.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

## Typedefs
typedef std::vector< Gaudi::Details::PropertyBase * > | Properties
typedef std::pair< std::string, std::pair< IProperty *, std::string > > | RemProperty
typedef std::vector< RemProperty > | RemoteProperties

## Functions
| PropertyMgr (const PropertyMgr &)=delete
PropertyMgr & | operator= (const PropertyMgr &)=delete
| ~PropertyMgr () override=default
| virtual destructor More...
template<class TYPE , typename = typename std::enable_if<!std::is_base_of<GaudiHandleBase, TYPE>::value && !std::is_base_of<GaudiHandleArrayBase, TYPE>::value && !std::is_base_of<DataObjectHandleBase, TYPE>::value>::type>
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none")
| Declare a property (templated) More...
template<class TYPE >
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE > &prop, const std::string &doc="none")
| Declare a property (specialization) More...
template<class TYPE >
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, Gaudi::Property< TYPE & > &prop, const std::string &doc="none")
| Declare a property (specialization) More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleBase &ref, const std::string &doc="none")
| Declare a property (specialization) More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, GaudiHandleArrayBase &ref, const std::string &doc="none")
| Declare a property (specialization) More...
Gaudi::Details::PropertyBase * | declareProperty (const std::string &name, DataObjectHandleBase &ref, const std::string &doc="none")
| Declare a property (specialization) More...
Gaudi::Details::PropertyBase * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="")
| Declare a remote property. More...
StatusCode | setProperty (const Gaudi::Details::PropertyBase &p) override
| set the property form another property More...
StatusCode | setProperty (const std::string &s) override
| set the property from the property formatted string More...
StatusCode | setProperty (const std::string &n, const std::string &v) override
| set the property from name and the value More...
StatusCode | getProperty (Gaudi::Details::PropertyBase *p) const override
| get the property More...
const Gaudi::Details::PropertyBase & | getProperty (const std::string &name) const override
| get the property by name More...
StatusCode | getProperty (const std::string &n, std::string &v) const override
| convert the property to the string More...
const std::vector< Gaudi::Details::PropertyBase * > & | getProperties () const override
| get all properties More...
bool | hasProperty (const std::string &name) const override
| Return true if we have a property with the given name. More...
StatusCode | queryInterface (const InterfaceID &iid, void **pinterface) override
Gaudi::Details::PropertyBase * | property (const std::string &name) const
Gaudi::Details::PropertyBase * | property (const std::string &name, const std::vector< Gaudi::Details::PropertyBase * > &props) const
| get the property by name form the proposed list More...
void | assertUniqueName (const std::string &name) const
| Throw an exception if the name is already present in the list of properties (see GAUDI-1023). More...

## Variables
class GAUDI_API[[deprecated("will be removed in v29r0, consider using PropertyHolder instead")]] | PropertyMgr
Properties | m_properties
| Collection of all declared properties. More...
RemoteProperties | m_remoteProperties
| Collection of all declared remote properties. More...
std::vector< std::unique_ptr< Gaudi::Details::PropertyBase > > | m_todelete
| Properties to be deleted. More...
IInterface * | m_pOuter
| Interface hub reference (ApplicationMgr) More...

## Typedef Documentation

typedef std::vector<Gaudi::Details::PropertyBase*> Properties
| private

Definition at line 134 of file PropertyMgr.h.

typedef std::vector<RemProperty> RemoteProperties
| private

Definition at line 136 of file PropertyMgr.h.

typedef std::pair<std::string, std::pair<IProperty*, std::string> > RemProperty
| private

Definition at line 135 of file PropertyMgr.h.

## Function Documentation

void assertUniqueName | ( | const std::string & | name | ) | const
| private

Throw an exception if the name is already present in the list of properties (see GAUDI-1023).

template<class TYPE , typename = typename std::enable_if<!std::is_base_of<GaudiHandleBase, TYPE>::value && !std::is_base_of<GaudiHandleArrayBase, TYPE>::value && !std::is_base_of<DataObjectHandleBase, TYPE>::value>::type>

Gaudi::Details::PropertyBase* declareProperty | ( | const std::string & | name,
|  | TYPE & | value,
|  | const std::string & | doc = `"none"`
| ) |  |

Declare a property (templated)

template<class TYPE >

Gaudi::Details::PropertyBase* declareProperty | ( | const std::string & | name,
|  | Gaudi::Property< TYPE > & | prop,
|  | const std::string & | doc = `"none"`
| ) |  |

Declare a property (specialization)

template<class TYPE >

Gaudi::Details::PropertyBase* declareProperty | ( | const std::string & | name,
|  | Gaudi::Property< TYPE & > & | prop,
|  | const std::string & | doc = `"none"`
| ) |  |

Declare a property (specialization)

Gaudi::Details::PropertyBase* declareProperty | ( | const std::string & | name,
|  | GaudiHandleBase & | ref,
|  | const std::string & | doc = `"none"`
| ) |  |

Declare a property (specialization)

Gaudi::Details::PropertyBase* declareProperty | ( | const std::string & | name,
|  | GaudiHandleArrayBase & | ref,
|  | const std::string & | doc = `"none"`
| ) |  |

Declare a property (specialization)

Gaudi::Details::PropertyBase* declareProperty | ( | const std::string & | name,
|  | DataObjectHandleBase & | ref,
|  | const std::string & | doc = `"none"`
| ) |  |

Declare a property (specialization)

Gaudi::Details::PropertyBase* declareRemoteProperty | ( | const std::string & | name,
|  | IProperty * | rsvc,
|  | const std::string & | rname = `""`
| ) |  |

Declare a remote property.

const std::vector<Gaudi::Details::PropertyBase*>& getProperties | ( |  | ) | const
| override

get all properties

See also
  IProperty

StatusCode getProperty | ( | Gaudi::Details::PropertyBase * | p | ) | const
| override

get the property

See also
  IProperty

const Gaudi::Details::PropertyBase& getProperty | ( | const std::string & | name | ) | const
| override

get the property by name

See also
  IProperty

StatusCode getProperty | ( | const std::string & | n,
|  | std::string & | v
| ) |  | const
| override

convert the property to the string

See also
  IProperty

bool hasProperty | ( | const std::string & | name | ) | const
| override

Return true if we have a property with the given name.

See also
  IProperty

PropertyMgr& operator= | ( | const PropertyMgr & |  | ) |
| delete

Gaudi::Details::PropertyBase* property | ( | const std::string & | name | ) | const
| protected

Gaudi::Details::PropertyBase* property | ( | const std::string & | name,
|  | const std::vector< Gaudi::Details::PropertyBase * > & | props
| ) |  | const
| private

get the property by name form the proposed list

PropertyMgr | ( | const PropertyMgr & |  | ) |
| delete

StatusCode queryInterface | ( | const InterfaceID & | iid,
|  | void ** | pinterface
| ) |  |
| override

StatusCode setProperty | ( | const Gaudi::Details::PropertyBase & | p | ) |
| override

set the property form another property

See also
  IProperty

StatusCode setProperty | ( | const std::string & | s | ) |
| override

set the property from the property formatted string

See also
  IProperty

StatusCode setProperty | ( | const std::string & | n,
|  | const std::string & | v
| ) |  |
| override

set the property from name and the value

See also
  IProperty

~PropertyMgr | ( |  | ) |
| override default

virtual destructor

## Variable Documentation

IInterface* m_pOuter
| private

Interface hub reference (ApplicationMgr)

Definition at line 145 of file PropertyMgr.h.

Properties m_properties
| private

Collection of all declared properties.

Definition at line 139 of file PropertyMgr.h.

RemoteProperties m_remoteProperties
| private

Collection of all declared remote properties.

Definition at line 141 of file PropertyMgr.h.

std::vector<std::unique_ptr<Gaudi::Details::PropertyBase> > m_todelete
| private

Properties to be deleted.

Definition at line 143 of file PropertyMgr.h.

PropertyMgr::PropertyMgr

Definition at line 32 of file PropertyMgr.h.