1 #ifndef GAUDIKERNEL_PROPERTYMGR_H
2 #define GAUDIKERNEL_PROPERTYMGR_H
163 void assertUniqueName(
const std::string& name)
const;
190 assertUniqueName(name);
192 Property* p = m_todelete.back().get();
195 m_properties .push_back( p ) ;
202 template <
class TYPE>
209 assertUniqueName(name);
212 p -> setName ( name ) ;
213 p -> setDocumentation ( doc ) ;
214 m_properties.push_back ( p ) ;
221 template <
class TYPE>
228 assertUniqueName(name);
231 p -> setName ( name ) ;
232 p -> setDocumentation ( doc ) ;
233 m_properties.push_back ( p ) ;
247 assertUniqueName(name);
249 Property* p = m_todelete.back().get();
251 p -> setDocumentation ( doc ) ;
252 m_properties . push_back ( p ) ;
264 assertUniqueName(name);
266 Property* p = m_todelete.back().get();
268 p -> setDocumentation ( doc ) ;
269 m_properties . push_back ( p ) ;
281 assertUniqueName(name);
283 Property* p = m_todelete.back().get();
285 p -> setDocumentation ( doc ) ;
286 m_properties . push_back ( p ) ;
298 assertUniqueName(name);
300 Property* p = m_todelete.back().get();
302 p -> setDocumentation ( doc ) ;
303 m_properties . push_back ( p ) ;
316 assertUniqueName(name);
319 p -> setDocumentation ( doc ) ;
320 m_properties . push_back ( p ) ;
328 #endif // GAUDIKERNEL_PROPERTYMGR_H
Handle to be used in lieu of naked pointers to services.
Base class used to implement the interfaces.
IInterface * m_pOuter
Interface hub reference (ApplicationMgr)
SimplePropertyRef templated class.
GAUDI_API bool hasProperty(const IProperty *p, const std::string &name)
simple function which check the existence of the property with the given name.
void setDocumentation(std::string documentation)
set the documentation string
const char *PyHelper() getProperty(IInterface *p, char *name)
Property manager helper class.
DataObjectHandleProperty.h GaudiKernel/DataObjectHandleProperty.h.
SimpleProperty concrete class which implements the full Property interface.
DataObjectHandle.h GaudiKernel/DataObjectHandle.h.
implements & operator=(const implements &)
Assignment operator (do not touch the reference count).
Properties m_properties
Collection of all declared properties.
RemoteProperties m_remoteProperties
Collection of all declared remote properties.
Property * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Declare a property (templated)
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
std::pair< std::string, std::pair< IProperty *, std::string > > RemProperty
bool PyHelper() setProperty(IInterface *p, char *name, char *value)
Array of Handles to be used in lieu of vector of naked pointers to tools.
Property base class allowing Property* collections to be "homogeneous".
StatusCode queryInterface(const InterfaceID &ti, void **pp) override
Implementation of IInterface::queryInterface.
std::vector< RemProperty > RemoteProperties
The IProperty is the basic interface for all components which have properties that can be set or get...
std::vector< Property * > Properties
std::vector< std::unique_ptr< Property > > m_todelete
Properties to be deleted.