| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

In This Package:

IFileAccess Class Reference

Abstract interface for a service or tool implementing a read access to files. More...

#include <IFileAccess.h>

Inheritance diagram for IFileAccess:

[legend]
Collaboration diagram for IFileAccess:
[legend]
List of all members.

Public Types

 SUCCESS = 1
 Normal successful completion.
 NO_INTERFACE
 Requested interface is not available.
 VERSMISMATCH
 Requested interface version is incompatible.
 LAST_ERROR
 Last error.
enum  Status { SUCCESS = 1, NO_INTERFACE, VERSMISMATCH, LAST_ERROR }
 Return status. More...

Public Member Functions

virtual ~IFileAccess ()
virtual std::auto_ptr< std::istream > open (const std::string &url)=0
 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 =0
 Protocols supported by the instance.
virtual StatusCode queryInterface (const InterfaceID &riid, void **ppvInterface)=0
 Query interfaces of Interface.
virtual unsigned long addRef ()=0
 Increment the reference count of Interface instance.
virtual unsigned long release ()=0
 Release Interface instance.

Static Public Member Functions

static const InterfaceIDinterfaceID ()
 Retrieve interface ID.

Detailed Description

Abstract interface for a service or tool implementing a read access to files.

Author:
Marco Clemencic
Date:
2008-01-18

Definition at line 23 of file IFileAccess.h.


Member Enumeration Documentation

enum IInterface::Status [inherited]

Return status.

Enumerator:
SUCCESS  Normal successful completion.
NO_INTERFACE  Requested interface is not available.
VERSMISMATCH  Requested interface version is incompatible.
LAST_ERROR  Last error.

Reimplemented in IConversionSvc, IConverter, and IDataProviderSvc.

Definition at line 113 of file IInterface.h.

00113                 {
00115     SUCCESS = 1,
00117     NO_INTERFACE,
00119     VERSMISMATCH,
00121     LAST_ERROR
00122   };


Constructor & Destructor Documentation

virtual IFileAccess::~IFileAccess (  )  [virtual]


Member Function Documentation

static const InterfaceID& IFileAccess::interfaceID (  )  [inline, static]

Retrieve interface ID.

Reimplemented from IInterface.

Definition at line 27 of file IFileAccess.h.

00027 { return IID_IFileAccess; }

virtual std::auto_ptr<std::istream> IFileAccess::open ( const std::string &  url  )  [pure 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.

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

Protocols supported by the instance.

virtual StatusCode IInterface::queryInterface ( const InterfaceID riid,
void **  ppvInterface 
) [pure virtual, inherited]

Query interfaces of Interface.

Parameters:
riid ID of Interface to be retrieved
ppvInterface Pointer to Location for interface pointer

Implemented in Algorithm, AlgTool, Auditor, ConversionSvc, Converter, DataSvc, EventSelectorDataStream, MinimalEventLoopMgr, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::addRef (  )  [pure virtual, inherited]

Increment the reference count of Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.

virtual unsigned long IInterface::release (  )  [pure virtual, inherited]

Release Interface instance.

Implemented in Algorithm, AlgTool, Auditor, Converter, EventSelectorDataStream, IFactory, PropertyMgr, SelectStatement, and Service.


The documentation for this class was generated from the following file:
| Classes | Job Modules | Data Objects | Services | Algorithms | Tools | Packages | Directories | Tracs |

Generated on Mon Apr 11 19:57:09 2011 for GaudiKernel by doxygen 1.4.7