| The Gaudi Framework v27r1

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes
- Files

- File List
- File Members

IFileAccess.h
Go to the documentation of this file.
1 #ifndef GaudiKernel_IFileAccess_H
2 #define GaudiKernel_IFileAccess_H
3
4 // Include Files
5 #include "GaudiKernel/IInterface.h"
6 #include <string>
7 #include <istream>
8 #include <memory>
9 #include <vector>
10
18 class GAUDI_API IFileAccess: virtual public IInterface {
19 public:
21 DeclareInterfaceID(IFileAccess,3,0);
22
23 ~IFileAccess() override = default; //< Virtual destructor.
24
28 virtual std::unique_ptr<std::istream> open(const std::string &url) = 0;
29
31 virtual const std::vector<std::string> &protocols() const = 0;
32
33 };
34
35 #endif // GaudiKernel_IFileAccess_H
std::string
STL class.
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
DeclareInterfaceID
#define DeclareInterfaceID(iface, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:14
std::vector< std::string >
std::unique_ptr
STL class.
IFileAccess
Abstract interface for a service or tool implementing a read access to files.
Definition: IFileAccess.h:18
GAUDI_API
#define GAUDI_API
Definition: Kernel.h:107
IInterface.h