00001 // $Header: /local/reps/Gaudi/GaudiKernel/GaudiKernel/IConversionSvc.h,v 1.8 2006/01/26 09:11:14 mato Exp $ 00002 #ifndef GAUDIKERNEL_ICONVERSIONSVC_H 00003 #define GAUDIKERNEL_ICONVERSIONSVC_H 00004 00005 // Include files 00006 #include <string> 00007 00008 #include "GaudiKernel/IConverter.h" 00009 00010 // Forward declarations 00011 class ICnvFactory; 00012 00013 // Declaration of the interface ID ( interface id, major version, minor version) 00014 static const InterfaceID IID_IConversionSvc("IConversionSvc", 3 , 0); 00015 00016 00042 class IConversionSvc : virtual public IConverter { 00043 public: 00045 static const InterfaceID& interfaceID() { return IID_IConversionSvc; } 00046 00051 virtual StatusCode addConverter(IConverter* pConverter) = 0; 00052 00057 virtual StatusCode addConverter(const CLID& clid) = 0; 00058 00064 virtual StatusCode removeConverter(const CLID& clid) = 0; 00065 00070 virtual IConverter* converter(const CLID& clid) = 0; 00071 00076 virtual StatusCode connectOutput(const std::string& outputFile) = 0; 00077 00083 virtual StatusCode connectOutput(const std::string& outputFile, 00084 const std::string& openMode) = 0; 00085 00095 virtual StatusCode commitOutput(const std::string& outputFile, 00096 bool do_commit) = 0; 00097 00099 enum Status { 00101 CONVERSIONSVC_NO_ERROR = ICONVERSIONSVC_LAST_ERROR+1, 00103 NO_CONVERTER 00104 }; 00105 }; 00106 00107 #endif // GAUDIKERNEL_ICONVERSIONSVC_H