| The Gaudi Framework v28r2p1 (f1a77ff4)

- 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
26 virtual std::unique_ptr<std::istream> open(const std::string &url) = 0;
27
29 virtual const std::vector<std::string> &protocols() const = 0;
30
31 };
32
33 #endif // GaudiKernel_IFileAccess_H
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::string
STL class.
IInterface
Definition of the basic interface.
Definition: IInterface.h:234
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