Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
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 public:
28  SvcCatalog() = default;
29  ~SvcCatalog();
30 
32 
33  StatusCode removeProperty( const std::string& client, const std::string& name );
34  const PropertiesT* getProperties( const std::string& client ) const;
36  const Gaudi::Details::PropertyBase* getProperty( const std::string& client, const std::string& name ) const;
37 
38 public:
41 
42 private:
43  const PropertiesT* findProperties( const std::string& client ) const;
44  PropertiesT* findProperties( const std::string& client );
45  std::pair<bool, PropertiesT::const_iterator> findProperty( const PropertiesT& props, const std::string& name ) const;
48 };
49 // ============================================================================
51 // ============================================================================
53 // ============================================================================
54 
55 // ============================================================================
56 // The END
57 // ============================================================================
58 #endif // JOBOPTIONSSVC_SVCCATALOG_H
const PropertiesT * getProperties(const std::string &client) const
Definition: SvcCatalog.cpp:59
std::ostream & fillStream(std::ostream &o) const
dump the content of catalog to std::ostream
Definition: SvcCatalog.cpp:96
std::vector< const Gaudi::Details::PropertyBase * > PropertiesT
Definition: SvcCatalog.h:27
Gaudi::Details::PropertyBase * property(const std::string &name) const
StatusCode addProperty(const std::string &client, const Gaudi::Details::PropertyBase *property)
Definition: SvcCatalog.cpp:36
STL class.
StatusCode removeProperty(const std::string &client, const std::string &name)
Definition: SvcCatalog.cpp:47
std::vector< std::string > getClients() const
Definition: SvcCatalog.cpp:63
STL class.
const PropertiesT * findProperties(const std::string &client) const
Definition: SvcCatalog.cpp:70
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
std::pair< bool, PropertiesT::const_iterator > findProperty(const PropertiesT &props, const std::string &name) const
Definition: SvcCatalog.cpp:80
std::map< std::string, PropertiesT > m_catalog
Definition: SvcCatalog.h:47
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:107
STL class.
SvcCatalog()=default
STL class.
std::ostream & operator<<(std::ostream &o, const SvcCatalog &c)
printoput operator
Definition: SvcCatalog.cpp:119