Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

JobOptionsSvc.h

Go to the documentation of this file.
00001 // JobOptionsSvc.h: interface for the JobOptionsSvc class.
00002 //
00004 
00005 #if !defined(JOBOPTIONSSVC_H_INCLUDED_)
00006 #define JOBOPTIONSSVC_H_INCLUDED_
00007 
00008 #include <string>
00009 #include "GaudiKernel/StatusCode.h"
00010 #include "GaudiKernel/Service.h"
00011 #include "GaudiKernel/IProperty.h"
00012 #include "GaudiKernel/IJobOptionsSvc.h"
00013 
00014 #include "JobOptionsCatalogue.h"
00015 #include "GaudiKernel/PropertyMgr.h"
00016 
00017 
00018 class JobOptionsSvc : virtual public Service,
00019                       virtual public IProperty,
00020                                           virtual public IJobOptionsSvc {
00021 public:
00022   // Constructor
00023         JobOptionsSvc(const std::string& name,ISvcLocator* svc);
00024         // Default destructor
00025   virtual ~JobOptionsSvc() {}
00026   // Service initialization method
00027         virtual StatusCode initialize();
00028   // IJobOptions implementation
00029         virtual StatusCode setMyProperties( const std::string& client,
00030                                                 IProperty* myInt );
00031 
00032         // IProperty implementation (needed for initialisation)
00033     StatusCode setProperty(const Property& p);
00034         StatusCode getProperty(Property *p) const;
00035 
00036         // IInterface implementation
00037     StatusCode queryInterface(const IID& riid, void** ppvInterface);
00038 
00039 private:
00040     std::string source_type() const;
00041         std::string source_path() const;
00042         StatusCode readOptions();
00043         std::string         m_source_path;
00044         std::string         m_source_type;
00045         JobOptionsCatalogue m_catalogue;
00046         PropertyMgr         m_pmgr;
00047 };
00048 
00049 #endif // !defined(JOBOPTIONSSVC_H_INCLUDED_)

Generated at Wed Nov 21 12:22:30 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000