Gaudi Framework, version v21r8

Home   Generated: 17 Mar 2010

JobOptionsSvc.h

Go to the documentation of this file.
00001 //$Header: /tmp/svngaudi/tmp.jEpFh25751/Gaudi/GaudiSvc/src/JobOptionsSvc/JobOptionsSvc.h,v 1.12 2007/05/15 16:46:25 marcocle Exp $
00002 // ===========================================================================
00003 #ifndef GAUDISVC_JOBOPTIONSSVC_H
00004 #define GAUDISVC_JOBOPTIONSSVC_H 1
00005 // ===========================================================================
00006 // Include files
00007 // ===========================================================================
00008 // STD & STL
00009 // ===========================================================================
00010 #include <string>
00011 // ===========================================================================
00012 #include "GaudiKernel/StatusCode.h"
00013 #include "GaudiKernel/Service.h"
00014 #include "GaudiKernel/IProperty.h"
00015 #include "GaudiKernel/IJobOptionsSvc.h"
00016 #include "GaudiKernel/PropertyMgr.h"
00017 
00018 #include "Catalogue.h"
00019 #include "JobOptionsCatalogue.h"
00020 
00021 // ===========================================================================
00022 class JobOptionsSvc : public extends2<Service, IProperty, IJobOptionsSvc> {
00023 public:
00024 
00025   // unhides some of Service's methods
00026   using Service::setProperty;
00027   using Service::getProperty;
00028   using Service::getProperties;
00029 
00030   typedef std::vector<const Property*> PropertiesT;
00032         JobOptionsSvc(const std::string& name,ISvcLocator* svc);
00034   virtual ~JobOptionsSvc() ;
00036         virtual StatusCode initialize ();
00038         virtual StatusCode finalize   ();
00039 
00041   virtual StatusCode setMyProperties( const std::string& client,
00042                                                 IProperty* myInt );
00043 
00045   virtual StatusCode addPropertyToCatalogue( const std::string& client,
00046                                              const Property& property );
00047 
00049   virtual StatusCode removePropertyFromCatalogue( const std::string& client,
00050                                                   const std::string& name );
00051 
00053   virtual const PropertiesT* getProperties( const std::string& client) const;
00054 
00056   virtual std::vector<std::string> getClients() const;
00057 
00064   virtual StatusCode readOptions
00065   ( const std::string& file      ,
00066     const std::string& path = "" ) ;
00067 
00069   StatusCode setProperty(const Property& p);
00070   StatusCode getProperty(Property *p) const;
00071 
00072 public:
00074   std::ostream& fillStream ( std::ostream& o ) const ;
00076   void dump ( const std::string& file ) const ;
00078   void dump () ;
00079 private:
00081   void fillParserCatalogue();
00083   void fillServiceCatalogue();
00085   MSG::Level convertSeverity(const Gaudi::Parsers::Message::Severity& severity);
00086 private:
00087   std::string         m_source_path;
00088   std::string         m_source_type;
00089   std::string         m_dirSearchPath;
00090   // optional output file to dump all properties
00091   std::string         m_dump   ; 
00092   bool                m_dumped ;
00093   PropertyMgr         m_pmgr;
00094   Gaudi::Parsers::Catalogue m_pcatalogue;
00095   std::vector<std::string> m_included;
00096   JobOptionsCatalogue m_catalogue;
00097 } ;
00098 
00099 #endif

Generated at Wed Mar 17 18:06:46 2010 for Gaudi Framework, version v21r8 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004