Gaudi Framework, version v23r4

Home   Generated: Mon Sep 17 2012

IoComponentMgr.h

Go to the documentation of this file.
00001 
00002 // IoComponentMgr.h 
00003 // Header file for class IoComponentMgr
00004 // Author: S.Binet<binet@cern.ch>
00006 #ifndef GAUDIMP_IOCOMPONENTMGR_H
00007 #define GAUDIMP_IOCOMPONENTMGR_H 1
00008 
00009 // Python includes
00010 #include <Python.h>
00011 
00012 // STL includes
00013 #include <string>
00014 #include <map>
00015 #include <list>
00016 
00017 // FrameWork includes
00018 #include "GaudiKernel/Service.h"
00019 
00020 // GaudiKernel
00021 #include "GaudiKernel/IIoComponent.h"
00022 #include "GaudiKernel/IIoComponentMgr.h"
00023 
00024 // Forward declaration
00025 class ISvcLocator;
00026 template <class TYPE> class SvcFactory;
00027 
00028 
00029 class IoComponentMgr: public extends1<Service, IIoComponentMgr> {
00030 
00031   friend class SvcFactory<IoComponentMgr>;
00032 
00034   // Public methods: 
00036  public: 
00037 
00038   // Copy constructor: 
00039 
00041   IoComponentMgr( const std::string& name, ISvcLocator* pSvcLocator );
00042 
00044   virtual ~IoComponentMgr(); 
00045 
00046   // Assignment operator: 
00047   //IoComponentMgr &operator=(const IoComponentMgr &alg); 
00048 
00050 
00051   virtual StatusCode initialize();
00052   virtual StatusCode finalize();
00053 
00055 
00057   // Const methods: 
00059 
00062   virtual
00063   bool io_hasitem (IIoComponent* iocomponent) const;
00064 
00068   virtual
00069   bool io_contains (IIoComponent* iocomponent,
00070                     const std::string& fname) const;
00071 
00073   // Non-const methods: 
00075 
00082   virtual
00083   StatusCode io_register (IIoComponent* iocomponent);
00084 
00091   virtual
00092   StatusCode io_register (IIoComponent* iocomponent,
00093                           IIoComponentMgr::IoMode::Type iomode,
00094                           const std::string& fname);
00095 
00099   virtual
00100   StatusCode io_retrieve (IIoComponent* iocomponent,
00101                           std::string& fname);
00102 
00107   virtual
00108   StatusCode io_reinitialize ();
00109 
00114   virtual
00115   StatusCode io_finalize ();
00116 
00118   // Private data: 
00120  private: 
00121 
00123   IoComponentMgr();
00124 
00125   mutable MsgStream m_log;
00126 
00127   typedef std::map<std::string, IIoComponent*> IoRegistry_t;
00129   IoRegistry_t m_ioregistry;
00130 
00131   typedef std::list<IIoComponent*> IoStack_t;
00133   IoStack_t m_iostack;
00134 
00138   PyObject *m_dict;
00139 
00141   std::string m_dict_location;
00142 
00143 }; 
00144 
00145 
00146 #endif //> !GAUDIMP_IOCOMPONENTMGR_H
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines

Generated at Mon Sep 17 2012 13:49:35 for Gaudi Framework, version v23r4 by Doxygen version 1.7.2 written by Dimitri van Heesch, © 1997-2004