00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/IConversionSvc.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $ 00002 #ifndef GAUDIKERNEL_ICONVERSIONSVC_H 00003 #define GAUDIKERNEL_ICONVERSIONSVC_H 00004 00005 // Include files 00006 #include <string> 00007 00008 #include "GaudiKernel/Kernel.h" 00009 #include "GaudiKernel/ClassID.h" 00010 #include "GaudiKernel/IInterface.h" 00011 00012 // Forward declarations 00013 // Generic interface to data object class 00014 class DataObject; 00015 class IConverter; 00016 class ICnvFactory; 00017 class IDataSelector; 00018 class IOpaqueAddress; 00019 class IDataProviderSvc; 00020 class IAddressCreator; 00021 class GenericLink; 00022 00023 // Declaration of the interface ID ( interface id, major version, minor version) 00024 static const InterfaceID IID_IConversionSvc(10, 1 , 0); 00025 00026 00049 class IConversionSvc : virtual public IInterface { 00050 public: 00052 static const InterfaceID& interfaceID() { return IID_IConversionSvc; } 00053 00058 virtual unsigned char repSvcType() const = 0; 00059 00072 virtual StatusCode createObj(IOpaqueAddress* pAddress, DataObject*& refpObject) = 0; 00073 00085 virtual StatusCode updateObj(IOpaqueAddress* pAddress, DataObject* pObject) = 0; 00086 00099 virtual StatusCode updateReps(IDataSelector* pSelector) = 0; 00100 00110 virtual StatusCode createReps(IDataSelector* pSelector) = 0; 00111 00116 virtual StatusCode setStore(IDataProviderSvc* pStore) = 0; 00117 00122 virtual StatusCode addConverter(IConverter* pConverter) = 0; 00123 00129 virtual StatusCode addConverter(const ICnvFactory& refFactory) = 0; 00130 00136 virtual StatusCode removeConverter(const CLID& clid) = 0; 00137 00142 virtual StatusCode connectOutput(const std::string& outputFile) = 0; 00143 00148 virtual StatusCode setAddressCreator(IAddressCreator* creator) = 0; 00149 00151 enum Status { 00153 CONVERSIONSVC_NO_ERROR = StatusCode::SUCCESS, 00155 NO_CONVERTER, 00157 NO_MEMORY, 00159 BAD_STORAGE_TYPE 00160 }; 00161 }; 00162 00163 #endif // GAUDIKERNEL_ICONVERSIONSVC_H
1.2.3 written by Dimitri van Heesch,
© 1997-2000