The Gaudi Framework  v33r0 (d5ea422b)
IIoComponentMgr.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2019 CERN for the benefit of the LHCb and ATLAS collaborations *
3 * *
4 * This software is distributed under the terms of the Apache version 2 licence, *
5 * copied verbatim in the file "LICENSE". *
6 * *
7 * In applying this licence, CERN does not waive the privileges and immunities *
8 * granted to it by virtue of its status as an Intergovernmental Organization *
9 * or submit itself to any jurisdiction. *
10 \***********************************************************************************/
12 // IIoComponentMgr.h
13 // Header file for class IIoComponentMgr
14 // Author: S.Binet<binet@cern.ch>
16 #ifndef GAUDIKERNEL_IIOCOMPONENTMGR_H
17 #define GAUDIKERNEL_IIOCOMPONENTMGR_H 1
18 
22 // STL includes
23 #include <string>
24 
25 // GaudiKernel includes
27 #include "GaudiKernel/StatusCode.h"
28 
29 // forward declare
30 class IIoComponent;
31 
32 class GAUDI_API IIoComponentMgr : virtual public INamedInterface {
33 public:
35 
37  // Public enums:
39 public:
40  struct IoMode {
41  enum Type { READ = 0, WRITE, RW, INVALID };
42  };
43 
45  // Public methods:
47 public:
54  virtual StatusCode io_register( IIoComponent* iocomponent ) = 0;
55 
62  virtual StatusCode io_register( IIoComponent* iocomponent, IIoComponentMgr::IoMode::Type iomode,
63  const std::string& fname, const std::string& pfn = "" ) = 0;
64 
68  virtual StatusCode io_update( IIoComponent* iocomponent, const std::string& old_fname,
69  const std::string& new_fname ) = 0;
70 
74  virtual StatusCode io_update( IIoComponent* iocomponent, const std::string& work_dir ) = 0;
75 
76  // VT. new method
79  virtual StatusCode io_update_all( const std::string& work_dir ) = 0;
80 
83  virtual bool io_hasitem( IIoComponent* iocomponent ) const = 0;
84 
88  virtual bool io_contains( IIoComponent* iocomponent, const std::string& fname ) const = 0;
89 
92  virtual std::vector<std::string> io_retrieve( IIoComponent* iocomponent ) = 0;
93 
97  virtual StatusCode io_retrieve( IIoComponent* iocomponent, std::string& fname ) = 0;
98 
103  virtual StatusCode io_reinitialize() = 0;
104 
109  virtual StatusCode io_finalize() = 0;
110 };
111 
112 #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:61
IInterface compliant class extending IInterface with the name() method.
#define GAUDI_API
Definition: Kernel.h:81