The Gaudi Framework  v30r3 (a5ef0a68)
IConversionSvc.h
Go to the documentation of this file.
1 #ifndef GAUDIKERNEL_ICONVERSIONSVC_H
2 #define GAUDIKERNEL_ICONVERSIONSVC_H
3 
4 // Include files
5 #include <string>
6 
8 
9 // Forward declarations
10 class ICnvFactory;
11 
37 class GAUDI_API IConversionSvc : virtual public IConverter
38 {
39 public:
42 
47  virtual StatusCode addConverter( IConverter* pConverter ) = 0;
48 
53  virtual StatusCode addConverter( const CLID& clid ) = 0;
54 
60  virtual StatusCode removeConverter( const CLID& clid ) = 0;
61 
66  virtual IConverter* converter( const CLID& clid ) = 0;
67 
72  virtual StatusCode connectOutput( const std::string& outputFile ) = 0;
73 
79  virtual StatusCode connectOutput( const std::string& outputFile, const std::string& openMode ) = 0;
80 
90  virtual StatusCode commitOutput( const std::string& outputFile, bool do_commit ) = 0;
91 
93  enum class Status : StatusCode::code_t {
95  INVALID_ADDRESS = static_cast<StatusCode::code_t>( IInterface::Status::LAST_ERROR ) + 1,
97  INVALID_OBJECT,
99  NO_MEMORY,
101  BAD_STORAGE_TYPE,
103  NO_SOURCE_OBJECT,
105  NO_CONVERTER
106  };
107 };
108 
110 
111 #endif // GAUDIKERNEL_ICONVERSIONSVC_H
The data converters are responsible to translate data from one representation into another...
Definition: IConverter.h:58
#define STATUSCODE_ENUM_DECL(ENUM)
Declare an enum to be used as StatusCode value.
Definition: StatusCode.h:258
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:51
unsigned int CLID
Class ID definition.
Definition: ClassID.h:8
DeclareInterfaceID(IConverter, 3, 0)
InterfaceID.
#define GAUDI_API
Definition: Kernel.h:104
Status
Status code definitions.
unsigned long code_t
type of StatusCode value
Definition: StatusCode.h:54