Go to the documentation of this file.
12 #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
40 constexpr
struct NoCaseCmp_t {
41 bool operator()( std::string_view
v1, std::string_view
v2 )
const {
58 if ( !rsvc )
return nullptr;
103 [=](
const PropertyBase* p ) { return p && noCaseCmp( p->name(), name ); } );
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"
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
StatusCode queryInterface(const InterfaceID &ti, void **pp) override
Implementation of IInterface::queryInterface.
const std::string name() const
property name
void toupper(std::string &s)
Gaudi::Details::PropertyBase * property(std::string_view name) const
StatusCode getProperty(Gaudi::Details::PropertyBase *p) const override
get the property
StatusCode parse(GaudiUtils::HashMap< K, V > &result, std::string_view input)
Basic parser for the types of HashMap used in DODBasicMapper.
IInterface * m_pOuter
Interface hub reference (ApplicationMgr)
PropertyMgr(IInterface *iface=nullptr)
constructor from the interface
Gaudi::Details::PropertyBase * declareProperty(const std::string &name, TYPE &value, const std::string &doc="none")
Declare a property (templated)
virtual StatusCode queryInterface(const InterfaceID &ti, void **pp)=0
Set the void** to the pointer to the requested interface of the instance.
virtual StatusCode fromString(const std::string &value)=0
string -> value
GAUDI_API ISvcLocator * svcLocator()
void setDocumentation(std::string value)
set the documentation string
AttribStringParser::Iterator begin(const AttribStringParser &parser)
void assertUniqueName(const std::string &name) const
Throw an exception if the name is already present in the list of properties (see GAUDI-1023).
bool hasProperty(std::string_view name) const override
Return true if we have a property with the given name.
std::vector< std::unique_ptr< Gaudi::Details::PropertyBase > > m_todelete
Properties to be deleted.
StatusCode service(const Gaudi::Utils::TypeNameString &name, T *&svc, bool createIf=true)
Templated method to access a service by name.
StatusCode setPropertyRepr(const std::string &n, const std::string &v) override
set the property from name and the value
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
Base class of array's of various gaudihandles.
unsigned long addRef() override
Reference Interface instance
T emplace_back(T... args)
Gaudi::Details::PropertyBase * declareRemoteProperty(const std::string &name, IProperty *rsvc, const std::string &rname="")
Declare a remote property.
RemoteProperties m_remoteProperties
Collection of all declared remote properties.
constexpr static const auto SUCCESS
virtual const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const =0
Get list of properties.
Properties m_properties
Collection of all declared properties.
virtual std::string toString() const =0
value -> string
constexpr static const auto FAILURE
const std::vector< Gaudi::Details::PropertyBase * > & getProperties() const override
get all properties
StatusCode setProperty(const std::string &name, const Gaudi::Details::PropertyBase &p) override
set the property form another property
StatusCode queryInterface(const InterfaceID &iid, void **pinterface) override