Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  v31r0 (aeb156f0)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IIoComponentMgr.h
Go to the documentation of this file.
1 // IIoComponentMgr.h
3 // Header file for class IIoComponentMgr
4 // Author: S.Binet<binet@cern.ch>
6 #ifndef GAUDIKERNEL_IIOCOMPONENTMGR_H
7 #define GAUDIKERNEL_IIOCOMPONENTMGR_H 1
8 
12 // STL includes
13 #include <string>
14 
15 // GaudiKernel includes
17 #include "GaudiKernel/StatusCode.h"
18 
19 // forward declare
20 class IIoComponent;
21 
22 class GAUDI_API IIoComponentMgr : virtual public INamedInterface {
23 public:
25 
27  // Public enums:
29 public:
30  struct IoMode {
31  enum Type { READ = 0, WRITE, RW, INVALID };
32  };
33 
35  // Public methods:
37 public:
44  virtual StatusCode io_register( IIoComponent* iocomponent ) = 0;
45 
52  virtual StatusCode io_register( IIoComponent* iocomponent, IIoComponentMgr::IoMode::Type iomode,
53  const std::string& fname, const std::string& pfn = "" ) = 0;
54 
58  virtual StatusCode io_update( IIoComponent* iocomponent, const std::string& old_fname,
59  const std::string& new_fname ) = 0;
60 
64  virtual StatusCode io_update( IIoComponent* iocomponent, const std::string& work_dir ) = 0;
65 
66  // VT. new method
69  virtual StatusCode io_update_all( const std::string& work_dir ) = 0;
70 
73  virtual bool io_hasitem( IIoComponent* iocomponent ) const = 0;
74 
78  virtual bool io_contains( IIoComponent* iocomponent, const std::string& fname ) const = 0;
79 
82  virtual std::vector<std::string> io_retrieve( IIoComponent* iocomponent ) = 0;
83 
87  virtual StatusCode io_retrieve( IIoComponent* iocomponent, std::string& fname ) = 0;
88 
93  virtual StatusCode io_reinitialize() = 0;
94 
99  virtual StatusCode io_finalize() = 0;
100 };
101 
102 #endif //> !GAUDIKERNEL_IIOCOMPONENTMGR_H
DeclareInterfaceID(INamedInterface, 1, 0)
InterfaceID.
STL class.
This class is used for returning status codes from appropriate routines.
Definition: StatusCode.h:50
IInterface compliant class extending IInterface with the name() method.
#define GAUDI_API
Definition: Kernel.h:71