1 #ifndef GaudiSvc_VFSSvc_H
2 #define GaudiSvc_VFSSvc_H 1
5 #include "GaudiKernel/Service.h"
6 #include "GaudiKernel/IFileAccess.h"
7 #include "GaudiKernel/HashMap.h"
34 std::unique_ptr<std::istream>
open(
const std::string &url)
override;
37 const std::vector<std::string> &
protocols()
const override;
SmartIF< IToolSvc > m_toolSvc
Handle to the tool service.
std::unique_ptr< std::istream > open(const std::string &url) override
std::vector< std::string > m_protocols
Protocols registered.
The ISvcLocator is the interface implemented by the Service Factory in the Application Manager to loc...
StatusCode initialize() override
Initialize Service.
std::string m_fallBackProtocol
Protocol to use in case there is not a specific tool to handle the URL.
GaudiUtils::HashMap< std::string, IFileAccess * > m_urlHandlers
Map of the tools handling the known protocols.
This class is used for returning status codes from appropriate routines.
VFSSvc(const std::string &name, ISvcLocator *svcloc)
Standard constructor.
~VFSSvc() override=default
Destructor.
StatusCode finalize() override
Finalize Service.
Base class used to extend a class implementing other interfaces.
std::vector< IAlgTool * > m_acquiredTools
List of acquired tools (needed to release them).
Simple service that allows to read files independently from the storage.
const std::vector< std::string > & protocols() const override
std::vector< std::string > m_urlHandlersNames
Names of the handlers to use.