All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
IFileAccess.h
Go to the documentation of this file.
1 // $Id: IFileAccess.h,v 1.2 2008/06/12 15:20:27 marcocle Exp $
2 #ifndef GaudiKernel_IFileAccess_H
3 #define GaudiKernel_IFileAccess_H
4 
5 // Include Files
7 #include <string>
8 #include <istream>
9 #include <memory>
10 #include <vector>
11 
19 class GAUDI_API IFileAccess: virtual public IInterface {
20 public:
23 
24  virtual ~IFileAccess(); //< Virtual destructor.
25 
29  virtual std::auto_ptr<std::istream> open(const std::string &url) = 0;
30 
32  virtual const std::vector<std::string> &protocols() const = 0;
33 
34 };
35 
36 #endif // GaudiKernel_IFileAccess_H
Definition of the basic interface.
Definition: IInterface.h:160
#define DeclareInterfaceID(name, major, minor)
Macro to declare the interface ID when using the new mechanism of extending and implementing interfac...
Definition: IInterface.h:23
Abstract interface for a service or tool implementing a read access to files.
Definition: IFileAccess.h:19
#define GAUDI_API
Definition: Kernel.h:108