The Gaudi Framework  master (9da49fa3)
Loading...
Searching...
No Matches
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
20#include <string>
21
22class IIoComponent;
23
25public:
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
88
93 virtual StatusCode io_finalize() = 0;
94};
#define GAUDI_API
Definition Kernel.h:49
virtual StatusCode io_retrieve(IIoComponent *iocomponent, std::string &fname)=0
: retrieve the new filename for a given IIoComponent and
virtual bool io_hasitem(IIoComponent *iocomponent) const =0
: check if the registry contains a given IIoComponent
virtual StatusCode io_reinitialize()=0
: reinitialize the I/O subsystem.
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
virtual StatusCode io_register(IIoComponent *iocomponent)=0
: allow a IIoComponent to register itself with this manager so appropriate actions can be taken when ...
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
virtual std::vector< std::string > io_retrieve(IIoComponent *iocomponent)=0
: retrieve all registered filenames for a given IIoComponent
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 ...
DeclareInterfaceID(IIoComponentMgr, 1, 0)
virtual bool io_contains(IIoComponent *iocomponent, const std::string &fname) const =0
: check if the registry contains a given IIoComponent and that component had
virtual StatusCode io_update_all(const std::string &work_dir)=0
: Update all IIoComponents with a new work directory
virtual StatusCode io_finalize()=0
: finalize the I/O subsystem.
IInterface compliant class extending IInterface with the name() method.
This class is used for returning status codes from appropriate routines.
Definition StatusCode.h:64