| # Gaudi Framework, version v25r0 |

Home |  | Generated: Mon Feb 17 2014

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

- File List
- File Members

All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Groups Pages
VFSSvc.h
Go to the documentation of this file.
1 // $Id: VFSSvc.h,v 1.2 2008/06/12 15:23:03 marcocle Exp $
2 #ifndef GaudiSvc_VFSSvc_H
3 #define GaudiSvc_VFSSvc_H 1
4
5 // Include files
6 #include "GaudiKernel/Service.h"
7 #include "GaudiKernel/IFileAccess.h"
8 #include "GaudiKernel/HashMap.h"
9
10 #include <list>
11
12 // Forward declarations
13 class IToolSvc;
14 class IAlgTool;
15
27 class VFSSvc: public extends1<Service, IFileAccess> {
28 public:
30 virtual StatusCode initialize();
32 virtual StatusCode finalize();
33
35 virtual std::auto_ptr<std::istream> open(const std::string &url);
36
38 virtual const std::vector<std::string> &protocols() const;
39
41 VFSSvc(const std::string& name, ISvcLocator* svcloc);
42
43 virtual ~VFSSvc();
44
45 private:
46
48 std::vector<std::string> m_urlHandlersNames;
49
51 std::vector<std::string> m_protocols;
52
54 std::string m_fallBackProtocol;
55
57 GaudiUtils::HashMap<std::string,IFileAccess*> m_urlHandlers;
58
60 SmartIF<IToolSvc> m_toolSvc;
61
63 std::list<IAlgTool*> m_acquiredTools;
64
65 };
66
67 #endif