The Gaudi Framework
v25r5
|
Property manager helper class. More...
#include <GaudiKernel/PropertyMgr.h>
Public Member Functions | |
PropertyMgr (IInterface *iface=0) | |
constructor from the interface More... | |
PropertyMgr (const PropertyMgr &) | |
virtual | ~PropertyMgr () |
virtual destructor More... | |
PropertyMgr & | operator= (const PropertyMgr &) |
template<class TYPE > | |
Property * | declareProperty (const std::string &name, TYPE &value, const std::string &doc="none") |
Declare a property (templated) More... | |
template<class TYPE > | |
Property * | declareProperty (const std::string &name, SimpleProperty< TYPE > &prop, const std::string &doc="none") |
Declare a property (specialization) More... | |
template<class TYPE > | |
Property * | declareProperty (const std::string &name, SimplePropertyRef< TYPE > &prop, const std::string &doc="none") |
Declare a property (specialization) More... | |
template<class TYPE > | |
Property * | declareProperty (const std::string &name, ToolHandle< TYPE > &ref, const std::string &doc="none") |
Declare a property (specialization) More... | |
template<class TYPE > | |
Property * | declareProperty (const std::string &name, ServiceHandle< TYPE > &ref, const std::string &doc="none") |
Declare a property (specialization) More... | |
template<class TYPE > | |
Property * | declareProperty (const std::string &name, ToolHandleArray< TYPE > &ref, const std::string &doc="none") |
Declare a property (specialization) More... | |
template<class TYPE > | |
Property * | declareProperty (const std::string &name, ServiceHandleArray< TYPE > &ref, const std::string &doc="none") |
Declare a property (specialization) More... | |
Property * | declareRemoteProperty (const std::string &name, IProperty *rsvc, const std::string &rname="") |
Declare a remote property. More... | |
StatusCode | setProperty (const Property &p) |
set the property form another property More... | |
StatusCode | setProperty (const std::string &s) |
set the property from the property formatted string More... | |
StatusCode | setProperty (const std::string &n, const std::string &v) |
set the property from name and the value More... | |
StatusCode | getProperty (Property *p) const |
get the property More... | |
const Property & | getProperty (const std::string &name) const |
get the property by name More... | |
StatusCode | getProperty (const std::string &n, std::string &v) const |
convert the property to the string More... | |
const std::vector< Property * > & | getProperties () const |
get all properties More... | |
StatusCode | queryInterface (const InterfaceID &iid, void **pinterface) |
Set the void** to the pointer to the requested interface of the instance. More... | |
![]() | |
virtual | ~extend_interfaces1 () |
Virtual destructor. More... | |
![]() | |
DeclareInterfaceID (IProperty, 2, 0) | |
InterfaceID. More... | |
![]() | |
virtual void * | i_cast (const InterfaceID &) const =0 |
main cast function More... | |
virtual std::vector< std::string > | getInterfaceNames () const =0 |
Returns a vector of strings containing the names of all the implemented interfaces. More... | |
virtual unsigned long | addRef ()=0 |
Increment the reference count of Interface instance. More... | |
virtual unsigned long | release ()=0 |
Release Interface instance. More... | |
virtual unsigned long | refCount () const =0 |
Current reference count. More... | |
virtual | ~IInterface () |
Virtual destructor. More... | |
Protected Member Functions | |
Property * | property (const std::string &name) const |
Private Types | |
typedef std::vector< Property * > | Properties |
typedef std::pair< std::string, std::pair< IProperty *, std::string > > | RemProperty |
typedef std::vector< RemProperty > | RemoteProperties |
Private Member Functions | |
Property * | property (const std::string &name, const std::vector< Property * > &props) const |
get the property by name form the proposed list More... | |
Private Attributes | |
Properties | m_properties |
Collection of all declared properties. More... | |
RemoteProperties | m_remoteProperties |
Collection of all declared remote properties. More... | |
Properties | m_todelete |
Properties to be deleted. More... | |
std::vector< bool > | m_isOwned |
Flag to decide to delete or not a propertyRef. More... | |
IInterface * | m_pOuter |
Interface hub reference (ApplicationMgr) More... | |
Additional Inherited Members | |
![]() | |
typedef implements1 | base_class |
Typedef to this class. More... | |
typedef extend_interfaces1 < IProperty > | extend_interfaces_base |
Typedef to the base of this class. More... | |
typedef extend_interfaces_base::ext_iids | interfaces |
MPL set of all the implemented interfaces. More... | |
![]() | |
typedef IProperty::iid::iids::type | ext_iids |
MPL set of interfaces extended by this one. More... | |
![]() | |
enum | Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR } |
Return status. More... | |
typedef Gaudi::InterfaceId < IInterface, 0, 0 > | iid |
Interface ID. More... | |
typedef mpl::set1< iid > | ext_iids |
Extra interfaces. More... | |
![]() | |
static const InterfaceID & | interfaceID () |
Return an instance of InterfaceID identifying the interface. More... | |
Property manager helper class.
This class is used by algorithms and services for helping to manage its own set of properties. It implements the IProperty interface.
Definition at line 38 of file PropertyMgr.h.
|
private |
Definition at line 153 of file PropertyMgr.h.
|
private |
Definition at line 156 of file PropertyMgr.h.
|
private |
Definition at line 155 of file PropertyMgr.h.
PropertyMgr::PropertyMgr | ( | IInterface * | iface = 0 | ) |
constructor from the interface
Definition at line 52 of file PropertyMgr.cpp.
PropertyMgr::PropertyMgr | ( | const PropertyMgr & | right | ) |
Definition at line 63 of file PropertyMgr.cpp.
|
virtual |
|
inline |
Declare a property (templated)
Definition at line 177 of file PropertyMgr.h.
|
inline |
Declare a property (specialization)
Declare a property (templated)
Definition at line 195 of file PropertyMgr.h.
|
inline |
Declare a property (specialization)
Declare a property (templated)
Definition at line 213 of file PropertyMgr.h.
|
inline |
Declare a property (specialization)
Definition at line 231 of file PropertyMgr.h.
|
inline |
Declare a property (specialization)
Definition at line 247 of file PropertyMgr.h.
|
inline |
Declare a property (specialization)
Definition at line 263 of file PropertyMgr.h.
|
inline |
Declare a property (specialization)
Definition at line 279 of file PropertyMgr.h.
Property * PropertyMgr::declareRemoteProperty | ( | const std::string & | name, |
IProperty * | rsvc, | ||
const std::string & | rname = "" |
||
) |
Declare a remote property.
Definition at line 112 of file PropertyMgr.cpp.
|
virtual |
get all properties
Implements IProperty.
Definition at line 247 of file PropertyMgr.cpp.
|
virtual |
get the property
Implements IProperty.
Definition at line 203 of file PropertyMgr.cpp.
|
virtual |
get the property by name
Implements IProperty.
Definition at line 219 of file PropertyMgr.cpp.
|
virtual |
convert the property to the string
Implements IProperty.
Definition at line 232 of file PropertyMgr.cpp.
PropertyMgr & PropertyMgr::operator= | ( | const PropertyMgr & | right | ) |
Definition at line 90 of file PropertyMgr.cpp.
|
protected |
Definition at line 138 of file PropertyMgr.cpp.
|
private |
get the property by name form the proposed list
Definition at line 126 of file PropertyMgr.cpp.
|
virtual |
Set the void** to the pointer to the requested interface of the instance.
Implements IInterface.
Definition at line 251 of file PropertyMgr.cpp.
|
virtual |
set the property form another property
Implements IProperty.
Definition at line 160 of file PropertyMgr.cpp.
|
virtual |
set the property from the property formatted string
Implements IProperty.
Definition at line 177 of file PropertyMgr.cpp.
|
virtual |
set the property from name and the value
Implements IProperty.
Definition at line 191 of file PropertyMgr.cpp.
|
private |
Flag to decide to delete or not a propertyRef.
Definition at line 167 of file PropertyMgr.h.
|
private |
Interface hub reference (ApplicationMgr)
Definition at line 169 of file PropertyMgr.h.
|
private |
Collection of all declared properties.
Definition at line 161 of file PropertyMgr.h.
|
private |
Collection of all declared remote properties.
Definition at line 163 of file PropertyMgr.h.
|
private |
Properties to be deleted.
Definition at line 165 of file PropertyMgr.h.