All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
SvcCatalog.h
Go to the documentation of this file.
1 // $Id:$
2 // ============================================================================
3 // CVS tag $Name: $
4 // ============================================================================
5 #ifndef JOBOPTIONSSVC_SVCCATALOG_H
6 #define JOBOPTIONSSVC_SVCCATALOG_H 1
7 // ============================================================================
8 // Include files
9 // ============================================================================
10 // STD & STL
11 // ============================================================================
12 #include <map>
13 #include <vector>
14 #include <string>
15 // ============================================================================
16 // GaudiKernel
17 // ============================================================================
18 #include "GaudiKernel/StatusCode.h"
19 #include "GaudiKernel/Property.h"
20 // ===========================================================================
21 
29 {
30 public:
31  typedef std::vector<const Property*> PropertiesT;
32  typedef std::map<std::string, PropertiesT > ObjectsT;
33  SvcCatalog();
34  virtual ~SvcCatalog();
35 
36  StatusCode addProperty( const std::string& client,
37  const Property* property );
38 
39  StatusCode removeProperty( const std::string& client,
40  const std::string& name );
41  const PropertiesT* getProperties( const std::string& client) const;
42  std::vector<std::string> getClients() const;
43 public:
45  std::ostream& fillStream ( std::ostream& o ) const ;
46 private:
47  PropertiesT* findProperties(const std::string& client) const;
48  bool findProperty(PropertiesT* props,
49  const std::string& name,PropertiesT::iterator& result);
51 };
52 // ============================================================================
54 // ============================================================================
55 std::ostream& operator<<( std::ostream& o , const SvcCatalog& c ) ;
56 // ============================================================================
57 
58 // ============================================================================
59 // The END
60 // ============================================================================
61 #endif // JOBOPTIONSSVC_SVCCATALOG_H
62 // ===========================================================================
ObjectsT * m_catalog
Definition: SvcCatalog.h:50
PropertiesT * findProperties(const std::string &client) const
Definition: SvcCatalog.cpp:82
const PropertiesT * getProperties(const std::string &client) const
Definition: SvcCatalog.cpp:71
std::ostream & fillStream(std::ostream &o) const
dump the content of catalog to std::ostream
Definition: SvcCatalog.cpp:101
tuple c
Definition: gaudirun.py:341
virtual ~SvcCatalog()
Definition: SvcCatalog.cpp:23
StatusCode addProperty(const std::string &client, const Property *property)
Definition: SvcCatalog.cpp:36
StatusCode removeProperty(const std::string &client, const std::string &name)
Definition: SvcCatalog.cpp:53
std::vector< std::string > getClients() const
Definition: SvcCatalog.cpp:73
bool findProperty(PropertiesT *props, const std::string &name, PropertiesT::iterator &result)
Definition: SvcCatalog.cpp:90
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:30
Property base class allowing Property* collections to be "homogeneous".
Definition: Property.h:43
std::map< std::string, PropertiesT > ObjectsT
Definition: SvcCatalog.h:32
std::vector< const Property * > PropertiesT
Definition: SvcCatalog.h:31
std::ostream & operator<<(std::ostream &o, const SvcCatalog &c)
printoput operator
Definition: SvcCatalog.cpp:123