2 #pragma GCC diagnostic ignored "-Wdeprecated-declarations" 30 constexpr
struct NoCaseCmp_t {
33 [](
char c1,
char c2 ) {
return toupper( c1 ) ==
toupper( c2 ); } );
41 inline bool operator()(
const PropertyBase* p )
const {
return p && noCaseCmp( p->
name(), m_name ); }
55 if ( !rsvc )
return nullptr;
104 return ( it != props.
end() ) ? *it :
nullptr;
115 if ( !noCaseCmp( it.first,
name ) )
continue;
218 log <<
MSG::WARNING <<
"duplicated property name '" <<
name <<
"', see https://its.cern.ch/jira/browse/GAUDI-1023"
Definition of the MsgStream class used to transmit messages.
IInterface * m_pOuter
Interface hub reference (ApplicationMgr)
std::vector< std::unique_ptr< Gaudi::Details::PropertyBase > > m_todelete
Properties to be deleted.
void setDocumentation(std::string value)
set the documentation string
StatusCode setProperty(const Gaudi::Details::PropertyBase &p) override
set the property form another property
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override
Gaudi::Details::PropertyBase * declareRemoteProperty(const std::string &name, IProperty *rsvc, const std::string &rname="")
Declare a remote property.
StatusCode getProperty(Gaudi::Details::PropertyBase *p) const override
get the property
constexpr static const auto SUCCESS
StatusCode parse(GaudiUtils::HashMap< K, V > &result, const std::string &input)
Basic parser for the types of HashMap used in DODBasicMapper.
const std::string name() const
property name
Gaudi::Details::PropertyBase Property
\fixme backward compatibility hack for old Property base class
void assertUniqueName(const std::string &name) const
Throw an exception if the name is already present in the list of properties (see GAUDI-1023).
virtual StatusCode fromString(const std::string &value)=0
string -> value
DataObjectHandleProperty.h GaudiKernel/DataObjectHandleProperty.h.
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
Properties m_properties
Collection of all declared properties.
GAUDI_API ISvcLocator * svcLocator()
RemoteProperties m_remoteProperties
Collection of all declared remote properties.
unsigned long addRef() override
Reference Interface instance.
This class is used for returning status codes from appropriate routines.
Definition of the basic interface.
The IMessage is the interface implemented by the message service.
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Gaudi::Details::PropertyBase * property(const std::string &name) const
Base class of array's of various gaudihandles.
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Declare a property (templated)
DataObjectHandleBase GaudiKernel/DataObjectHandleBase.h.
virtual const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const =0
Get list of properties.
bool hasProperty(const std::string &name) const override
Return true if we have a property with the given name.
const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const override
get all properties
constexpr static const auto FAILURE
Base class to handles to be used in lieu of naked pointers to various Gaudi components.
AttribStringParser::Iterator begin(const AttribStringParser &parser)
StatusCode queryInterface(const InterfaceID &ti, void **pp) override
Implementation of IInterface::queryInterface.
The IProperty is the basic interface for all components which have properties that can be set or get.
virtual std::string toString() const =0
value -> string
void toupper(std::string &s)
PropertyMgr(IInterface *iface=nullptr)
constructor from the interface
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
virtual StatusCode queryInterface(const InterfaceID &ti, void **pp)=0
Set the void** to the pointer to the requested interface of the instance.
T emplace_back(T... args)