Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ICnvManager.h

Go to the documentation of this file.
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

Generated at Wed Nov 21 12:22:03 2001 by doxygen1.2.3 written by Dimitri van Heesch, © 1997-2000