Loading [MathJax]/extensions/tex2jax.js
The Gaudi Framework  master (d98a2936)
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
IIoComponentMgr.h
Go to the documentation of this file.
1 /***********************************************************************************\
2 * (c) Copyright 1998-2025 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 #pragma once
17 
19 #include <GaudiKernel/StatusCode.h>
20 #include <string>
21 
22 class IIoComponent;
23 
24 class GAUDI_API IIoComponentMgr : virtual public INamedInterface {
25 public:
27 
28  struct IoMode {
29  enum Type { READ = 0, WRITE, RW, INVALID };
30  };
31 
38  virtual StatusCode io_register( IIoComponent* iocomponent ) = 0;
39 
47  const std::string& fname, const std::string& pfn = "" ) = 0;
48 
52  virtual StatusCode io_update( IIoComponent* iocomponent, const std::string& old_fname,
53  const std::string& new_fname ) = 0;
54 
58  virtual StatusCode io_update( IIoComponent* iocomponent, const std::string& work_dir ) = 0;
59 
60  // VT. new method
63  virtual StatusCode io_update_all( const std::string& work_dir ) = 0;
64 
67  virtual bool io_hasitem( IIoComponent* iocomponent ) const = 0;
68 
72  virtual bool io_contains( IIoComponent* iocomponent, const std::string& fname ) const = 0;
73 
76  virtual std::vector<std::string> io_retrieve( IIoComponent* iocomponent ) = 0;
77 
81  virtual StatusCode io_retrieve( IIoComponent* iocomponent, std::string& fname ) = 0;
82 
87  virtual StatusCode io_reinitialize() = 0;
88 
93  virtual StatusCode io_finalize() = 0;
94 };
IIoComponentMgr::io_reinitialize
virtual StatusCode io_reinitialize()=0
: reinitialize the I/O subsystem.
IIoComponentMgr::io_finalize
virtual StatusCode io_finalize()=0
: finalize the I/O subsystem.
Io::INVALID
@ INVALID
Definition: IFileMgr.h:40
IIoComponent
Definition: IIoComponent.h:15
IIoComponentMgr::io_register
virtual StatusCode io_register(IIoComponent *iocomponent, IIoComponentMgr::IoMode::Type iomode, const std::string &fname, const std::string &pfn="")=0
: allow a IIoComponent to register itself with this manager so appropriate actions can be taken when ...
IIoComponentMgr::DeclareInterfaceID
DeclareInterfaceID(IIoComponentMgr, 1, 0)
StatusCode.h
IIoComponentMgr::IoMode::Type
Type
Definition: IIoComponentMgr.h:29
IIoComponentMgr::io_update
virtual StatusCode io_update(IIoComponent *iocomponent, const std::string &old_fname, const std::string &new_fname)=0
: allow a IIoComponent to update the contents of the registry with a new file name
IIoComponentMgr::io_update_all
virtual StatusCode io_update_all(const std::string &work_dir)=0
: Update all IIoComponents with a new work directory
INamedInterface.h
StatusCode
Definition: StatusCode.h:64
IIoComponentMgr::io_register
virtual StatusCode io_register(IIoComponent *iocomponent)=0
: allow a IIoComponent to register itself with this manager so appropriate actions can be taken when ...
IIoComponentMgr::io_update
virtual StatusCode io_update(IIoComponent *iocomponent, const std::string &work_dir)=0
: allow a IIoComponent to update the contents of the registry with a new work directory
IIoComponentMgr::io_contains
virtual bool io_contains(IIoComponent *iocomponent, const std::string &fname) const =0
: check if the registry contains a given IIoComponent and that component had
IIoComponentMgr::io_hasitem
virtual bool io_hasitem(IIoComponent *iocomponent) const =0
: check if the registry contains a given IIoComponent
INamedInterface
Definition: INamedInterface.h:23
IIoComponentMgr
Definition: IIoComponentMgr.h:24
IIoComponentMgr::io_retrieve
virtual StatusCode io_retrieve(IIoComponent *iocomponent, std::string &fname)=0
: retrieve the new filename for a given IIoComponent and
IIoComponentMgr::io_retrieve
virtual std::vector< std::string > io_retrieve(IIoComponent *iocomponent)=0
: retrieve all registered filenames for a given IIoComponent
IIoComponentMgr::IoMode
Definition: IIoComponentMgr.h:28
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:49
Io::READ
@ READ
Definition: IFileMgr.h:30
IIoComponentMgr::IoMode::WRITE
@ WRITE
Definition: IIoComponentMgr.h:29