00001 // $Id: IJobOptionsSvc.h,v 1.6 2006/07/31 08:25:29 mato Exp $ 00002 #ifndef KERNEL_IJOBOPTIONSSVC_H 00003 #define KERNEL_IJOBOPTIONSSVC_H 00004 00005 // Include files 00006 #include "GaudiKernel/IInterface.h" 00007 #include <string> 00008 #include <vector> 00009 00010 // Forward declaration 00011 class StatusCode; 00012 class IProperty; 00013 class Property; 00014 00015 // Declaration of the interface ID 00016 // ( interface id, major version, minor version) 00017 static const InterfaceID IID_IJobOptionsSvc( "IJobOptionsSvc" , 3 , 1 ); 00018 00025 class IJobOptionsSvc : virtual public IInterface { 00026 public: 00028 static const InterfaceID& interfaceID() { return IID_IJobOptionsSvc; } 00029 00034 virtual StatusCode setMyProperties 00035 ( const std::string& client, IProperty* me ) = 0; 00036 00038 virtual StatusCode addPropertyToCatalogue( const std::string& client, 00039 const Property& property ) = 0; 00041 virtual StatusCode removePropertyFromCatalogue( const std::string& client, 00042 const std::string& name ) = 0; 00044 virtual const std::vector<const Property*>* 00045 getProperties( const std::string& client) const = 0; 00046 00048 virtual std::vector<std::string> getClients() const = 0; 00049 00056 virtual StatusCode readOptions 00057 ( const std::string& file , 00058 const std::string& path = "" ) = 0 ; 00059 00060 }; 00061 00062 #endif // KERNEL_IJOBOPTIONSSVC_H