The Gaudi Framework  v29r0 (ff2e7097)
SvcCatalog.h
Go to the documentation of this file.
1 // ============================================================================
2 #ifndef JOBOPTIONSSVC_SVCCATALOG_H
3 #define JOBOPTIONSSVC_SVCCATALOG_H 1
4 // ============================================================================
5 // Include files
6 // ============================================================================
7 // STD & STL
8 // ============================================================================
9 #include <map>
10 #include <string>
11 #include <vector>
12 // ============================================================================
13 // GaudiKernel
14 // ============================================================================
15 #include "GaudiKernel/Property.h"
16 #include "GaudiKernel/StatusCode.h"
17 // ===========================================================================
18 
25 class SvcCatalog final
26 {
27 public:
29  SvcCatalog() = default;
30  ~SvcCatalog();
31 
33 
34  StatusCode removeProperty( const std::string& client, const std::string& name );
35  const PropertiesT* getProperties( const std::string& client ) const;
37  const Gaudi::Details::PropertyBase* getProperty( const std::string& client, const std::string& name ) const;
38 
39 public:
42 
43 private:
44  const PropertiesT* findProperties( const std::string& client ) const;
45  PropertiesT* findProperties( const std::string& client );
46  std::pair<bool, PropertiesT::const_iterator> findProperty( const PropertiesT& props, const std::string& name ) const;
49 };
50 // ============================================================================
52 // ============================================================================
54 // ============================================================================
55 
56 // ============================================================================
57 // The END
58 // ============================================================================
59 #endif // JOBOPTIONSSVC_SVCCATALOG_H
60 // ===========================================================================
const PropertiesT * getProperties(const std::string &client) const
Definition: SvcCatalog.cpp:65
std::ostream & fillStream(std::ostream &o) const
dump the content of catalog to std::ostream
Definition: SvcCatalog.cpp:108
std::vector< const Gaudi::Details::PropertyBase * > PropertiesT
Definition: SvcCatalog.h:28
Gaudi::Details::PropertyBase * property(const std::string &name) const
StatusCode addProperty(const std::string &client, const Gaudi::Details::PropertyBase *property)
Definition: SvcCatalog.cpp:40
STL class.
StatusCode removeProperty(const std::string &client, const std::string &name)
Definition: SvcCatalog.cpp:52
std::vector< std::string > getClients() const
Definition: SvcCatalog.cpp:70
STL class.
const PropertiesT * findProperties(const std::string &client) const
Definition: SvcCatalog.cpp:78
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:28
std::pair< bool, PropertiesT::const_iterator > findProperty(const PropertiesT &props, const std::string &name) const
Definition: SvcCatalog.cpp:90
std::map< std::string, PropertiesT > m_catalog
Definition: SvcCatalog.h:48
PropertyBase base class allowing PropertyBase* collections to be "homogeneous".
Definition: Property.h:32
const Gaudi::Details::PropertyBase * getProperty(const std::string &client, const std::string &name) const
Definition: SvcCatalog.cpp:120
STL class.
SvcCatalog()=default
STL class.
std::ostream & operator<<(std::ostream &o, const SvcCatalog &c)
printoput operator
Definition: SvcCatalog.cpp:134