Go to the documentation of this file.
   33   using extends::extends;
 
   47       this, 
"FileAccessTools", { { 
"FileReadTool" } }, 
"List of tools implementing the IFileAccess interface." };
 
   49                                                    "URL prefix to use if the prefix is not present." };
 
   71   m_toolSvc = serviceLocator()->service( 
"ToolSvc" );
 
   73     error() << 
"Cannot locate ToolSvc" << 
endmsg;
 
   78   for ( 
const auto& i : m_urlHandlersNames ) {
 
   82       error() << 
"Cannot get tool " << i << 
endmsg;
 
   85     m_acquiredTools.push_back( 
tool ); 
 
   88       error() << i << 
" does not implement IFileAccess" << 
endmsg;
 
   94     for ( 
const auto& prot : hndlr->protocols() ) m_urlHandlers[prot].emplace_back( hndlr.get() );
 
   98   if ( m_urlHandlers.find( m_fallBackProtocol ) == m_urlHandlers.end() ) {
 
   99     error() << 
"No handler specified for fallback protocol prefix " << m_fallBackProtocol.value() << 
endmsg;
 
  125   auto pos = url.
find( 
"://" );
 
  127   if ( url.npos == pos ) {
 
  142   for ( 
auto hndlr : handlers->second ) {
 
  143     out = hndlr->open( url );
 
  155                     []( 
const auto& pair ) { return pair.first; } );
 
  
 
StatusCode initialize() override
 
iterator find(const key_type &key)
 
Gaudi::Property< std::string > m_fallBackProtocol
 
std::unique_ptr< std::istream > open(std::string const &url) override
 
void reset(TYPE *ptr=nullptr)
Set the internal pointer to the passed one disposing of the old one.
 
T back_inserter(T... args)
 
const std::vector< std::string > & protocols() const override
 
StatusCode finalize() override
 
StatusCode finalize() override
Finalize Service.
 
Gaudi::Property< std::vector< std::string > > m_urlHandlersNames
 
std::vector< IAlgTool * > m_acquiredTools
List of acquired tools (needed to release them).
 
std::vector< std::string > m_protocols
Protocols registered.
 
GaudiUtils::HashMap< std::string, std::vector< IFileAccess * > > m_urlHandlers
Map of the tools handling the known protocols.
 
static const InterfaceID & interfaceID()
Return an instance of InterfaceID identifying the interface.
 
SmartIF< IToolSvc > m_toolSvc
Handle to the tool service.
 
MsgStream & endmsg(MsgStream &s)
MsgStream Modifier: endmsg. Calls the output method of the MsgStream.
 
Base class used to extend a class implementing other interfaces.
 
StatusCode initialize() override
Initialize Service.
 
#define DECLARE_COMPONENT(type)
 
constexpr static const auto FAILURE
 
Implementation of property with value of concrete type.