00001 // $Header: /nfs/slac/g/glast/ground/cvs/GaudiKernel/GaudiKernel/ICnvManager.h,v 1.1.1.1 2001/04/18 18:14:18 tlindner Exp $ 00002 #ifndef GAUDIKERNEL_ICNVMANAGER_H 00003 #define GAUDIKERNEL_ICNVMANAGER_H 00004 00005 // Include files 00006 #include "GaudiKernel/IInterface.h" 00007 #include "GaudiKernel/ClassID.h" 00008 #include <string> 00009 #include <vector> 00010 00011 // Forward class declaration 00012 class IService; 00013 class IConverter; 00014 class ICnvFactory; 00015 class ISvcLocator; 00016 00017 // Declaration of the interface ID ( interface id, major version, minor version) 00018 static const InterfaceID IID_ICnvManager(15, 1 , 0); 00019 00030 class ICnvManager : virtual public IInterface { 00031 public: 00033 static const InterfaceID& interfaceID() { return IID_ICnvManager; } 00034 00035 typedef std::vector<const ICnvFactory*> Container; 00037 typedef const ICnvFactory** CnvIterator; 00038 00040 virtual StatusCode declareCnvFactory( const ICnvFactory& factory // Reference to the abastract factory 00041 ) = 0; 00043 virtual bool existsConverter( const unsigned char repSvctype, // Converter service type 00044 const CLID& objtype // Converter object type 00045 ) const = 0; 00047 virtual const ICnvFactory* factory( const unsigned char repSvctype, // Converter service type 00048 const CLID& objtype // Converter object type 00049 ) const = 0; 00053 virtual CnvIterator cnvBegin() = 0; 00055 virtual CnvIterator cnvEnd() = 0; 00056 }; 00057 00058 00059 #endif // GAUDIKERNEL_ICNVMANAGER_H
1.2.3 written by Dimitri van Heesch,
© 1997-2000