|
Gaudi Framework, version v23r2 |
| Home | Generated: Thu Jun 28 2012 |
00001 // $Id:$ 00002 // ============================================================================ 00003 // CVS tag $Name: $ 00004 // ============================================================================ 00005 #ifndef JOBOPTIONSSVC_SVCCATALOG_H 00006 #define JOBOPTIONSSVC_SVCCATALOG_H 1 00007 // ============================================================================ 00008 // Include files 00009 // ============================================================================ 00010 // STD & STL 00011 // ============================================================================ 00012 #include <map> 00013 #include <vector> 00014 #include <string> 00015 // ============================================================================ 00016 // GaudiKernel 00017 // ============================================================================ 00018 #include "GaudiKernel/StatusCode.h" 00019 #include "GaudiKernel/Property.h" 00020 // =========================================================================== 00021 00028 class SvcCatalog 00029 { 00030 public: 00031 typedef std::vector<const Property*> PropertiesT; 00032 typedef std::map<std::string, PropertiesT > ObjectsT; 00033 SvcCatalog(); 00034 virtual ~SvcCatalog(); 00035 00036 StatusCode addProperty( const std::string& client, 00037 const Property* property ); 00038 00039 StatusCode removeProperty( const std::string& client, 00040 const std::string& name ); 00041 const PropertiesT* getProperties( const std::string& client) const; 00042 std::vector<std::string> getClients() const; 00043 public: 00045 std::ostream& fillStream ( std::ostream& o ) const ; 00046 private: 00047 PropertiesT* findProperties(const std::string& client) const; 00048 bool findProperty(PropertiesT* props, 00049 const std::string& name,PropertiesT::iterator& result); 00050 ObjectsT* m_catalog; 00051 }; 00052 // ============================================================================ 00054 // ============================================================================ 00055 std::ostream& operator<<( std::ostream& o , const SvcCatalog& c ) ; 00056 // ============================================================================ 00057 00058 // ============================================================================ 00059 // The END 00060 // ============================================================================ 00061 #endif // JOBOPTIONSSVC_SVCCATALOG_H 00062 // ===========================================================================