Gaudi Framework, version v20r4

Generated: 8 Jan 2009

FileReadTool Class Reference

#include <FileReadTool.h>

Inheritance diagram for FileReadTool:

Inheritance graph
[legend]
Collaboration diagram for FileReadTool:

Collaboration graph
[legend]

List of all members.


Detailed Description

Basic implementation of the IFileAccess interface.

This tool simply takes a path to a file as url and return the std::istream interface of std::ifstream.

Author:
Marco Clemencic
Date:
2008-01-18

Definition at line 17 of file FileReadTool.h.


Public Member Functions

 FileReadTool (const std::string &type, const std::string &name, const IInterface *parent)
 Standard constructor.
virtual ~FileReadTool ()
virtual std::auto_ptr
< std::istream > 
open (const std::string &url)
 Find the URL and returns an auto_ptr to an input stream interface of an object that can be used to read from the file the URL is pointing to.
virtual const std::vector
< std::string > & 
protocols () const
 Protocols supported by the instance.

Private Attributes

std::vector< std::string > m_protocols
 Vector of supported protocols.

Constructor & Destructor Documentation

FileReadTool::FileReadTool ( const std::string &  type,
const std::string &  name,
const IInterface parent 
)

Standard constructor.

Definition at line 7 of file FileReadTool.cpp.

00009                                                      :
00010   AlgTool ( type, name , parent )
00011 {
00012   declareInterface<IFileAccess>(this);
00013   m_protocols.push_back("file");
00014 }

FileReadTool::~FileReadTool (  )  [virtual]

Definition at line 16 of file FileReadTool.cpp.

00016 {}


Member Function Documentation

std::auto_ptr< std::istream > FileReadTool::open ( const std::string &  url  )  [virtual]

Find the URL and returns an auto_ptr to an input stream interface of an object that can be used to read from the file the URL is pointing to.

Returns an empty pointer if the URL cannot be resolved.

Implements IFileAccess.

Definition at line 18 of file FileReadTool.cpp.

00018                                                                {
00019   // remove the optional "file://" from the beginnning of the url
00020   std::string path;
00021   if ( url.substr(0,7) == "file://" ) {
00022     path = url.substr(7);
00023   } else {
00024     path = url;
00025   }    
00026   return std::auto_ptr<std::istream>(new std::ifstream(path.c_str()));
00027 }

const std::vector< std::string > & FileReadTool::protocols (  )  const [virtual]

Protocols supported by the instance.

Implements IFileAccess.

Definition at line 29 of file FileReadTool.cpp.

00030 {
00031   return m_protocols;
00032 }


Member Data Documentation

std::vector<std::string> FileReadTool::m_protocols [private]

Vector of supported protocols.

Definition at line 39 of file FileReadTool.h.


The documentation for this class was generated from the following files:

Generated at Thu Jan 8 17:51:05 2009 for Gaudi Framework, version v20r4 by Doxygen version 1.5.6 written by Dimitri van Heesch, © 1997-2004