| # Gaudi Framework, version v23r0 |

Home |  | Generated: Mon Jan 30 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