Falcon::VFSProvider Class Reference

Base class for Falcon Virtual File System Providers. More...

#include <vfsprovider.h>

Inheritance diagram for Falcon::VFSProvider:

Inheritance graph
[legend]

List of all members.

Classes

class  CParams
 Create Paramenter. More...
class  OParams
 Open Parameters. More...

Public Member Functions

virtual bool chmod (const URI &uri, int mode)=0
virtual bool chown (const URI &uri, int uid, int gid)=0
virtual Streamcreate (const URI &uri, const CParams &p, bool &bSuccess)=0
Streamcreate (const URI &uri, const CParams &p)
Streamcreate (const URI &uri, bool &bSuccess)
Streamcreate (const URI &uri)
virtual ErrorgetLastError ()=0
 Wraps the last system error into a suitable Falcon Error.
virtual int64 getLastFsError ()=0
 Get an integer representing the last file system specific error.
virtual bool link (const URI &uri1, const URI &uri2, bool bSymbolic)=0
virtual bool mkdir (const URI &uri, uint32 mode)=0
virtual bool move (const URI &suri, const URI &duri)=0
virtual Streamopen (const URI &uri, const OParams &p)=0
 Open a file.
Streamopen (const URI &uri)
 Just an inline for opening file with default parameters.
virtual DirEntryopenDir (const URI &uri)=0
const Stringprotocol () const
virtual bool readStats (const URI &uri, FileStat &s)=0
virtual bool rmdir (const URI &uri)=0
virtual bool unlink (const URI &uri)=0
virtual bool writeStats (const URI &uri, const FileStat &s)=0
virtual ~VFSProvider ()

Protected Member Functions

 VFSProvider (const String &name)


Detailed Description

Base class for Falcon Virtual File System Providers.

VFS providers are singletons containing virtual pure functions (function vectors) meant to give information about a particular filesystem, or factory functions generating VFS related objects as streams and directory handlers.

VFS handler respond to a single protocol specification. When the VM receives a request to open an URI (be it a file or a specific directory) it parses the given uri and finds an appropriate VFS provider for that kind of resource.


Constructor & Destructor Documentation

Falcon::VFSProvider::VFSProvider ( const String name  )  [inline, protected]

virtual Falcon::VFSProvider::~VFSProvider (  )  [virtual]


Member Function Documentation

virtual bool Falcon::VFSProvider::chmod ( const URI uri,
int  mode 
) [pure virtual]

Implemented in Falcon::VFSFile.

virtual bool Falcon::VFSProvider::chown ( const URI uri,
int  uid,
int  gid 
) [pure virtual]

Implemented in Falcon::VFSFile.

virtual Stream* Falcon::VFSProvider::create ( const URI uri,
const CParams p,
bool &  bSuccess 
) [pure virtual]

Implemented in Falcon::VFSFile.

Stream* Falcon::VFSProvider::create ( const URI uri,
const CParams p 
) [inline]

Stream* Falcon::VFSProvider::create ( const URI uri,
bool &  bSuccess 
) [inline]

Stream* Falcon::VFSProvider::create ( const URI uri  )  [inline]

virtual Error* Falcon::VFSProvider::getLastError (  )  [pure virtual]

Wraps the last system error into a suitable Falcon Error.

If getLastFsError() returns 0, then this method will return 0 too.

Implemented in Falcon::VFSFile.

virtual int64 Falcon::VFSProvider::getLastFsError (  )  [pure virtual]

Get an integer representing the last file system specific error.

The semantic of this number may be different on different VFS, but in all the VFS a return value of 0 is granted to indicate that the last operation performed was succesful.

Also, the returned error code must be made thread specific or otherwise reentrant/interlocked.

Implemented in Falcon::VFSFile.

virtual bool Falcon::VFSProvider::link ( const URI uri1,
const URI uri2,
bool  bSymbolic 
) [pure virtual]

Implemented in Falcon::VFSFile.

virtual bool Falcon::VFSProvider::mkdir ( const URI uri,
uint32  mode 
) [pure virtual]

Implemented in Falcon::VFSFile.

virtual bool Falcon::VFSProvider::move ( const URI suri,
const URI duri 
) [pure virtual]

Implemented in Falcon::VFSFile.

virtual Stream* Falcon::VFSProvider::open ( const URI uri,
const OParams p 
) [pure virtual]

Open a file.

Implemented in Falcon::VFSFile.

Stream* Falcon::VFSProvider::open ( const URI uri  )  [inline]

Just an inline for opening file with default parameters.

Default parameters are "read only, full sharing".

virtual DirEntry* Falcon::VFSProvider::openDir ( const URI uri  )  [pure virtual]

Implemented in Falcon::VFSFile.

const String& Falcon::VFSProvider::protocol (  )  const [inline]

virtual bool Falcon::VFSProvider::readStats ( const URI uri,
FileStat s 
) [pure virtual]

Implemented in Falcon::VFSFile.

virtual bool Falcon::VFSProvider::rmdir ( const URI uri  )  [pure virtual]

Implemented in Falcon::VFSFile.

virtual bool Falcon::VFSProvider::unlink ( const URI uri  )  [pure virtual]

Implemented in Falcon::VFSFile.

virtual bool Falcon::VFSProvider::writeStats ( const URI uri,
const FileStat s 
) [pure virtual]

Implemented in Falcon::VFSFile.


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

Generated on Mon Oct 19 10:11:49 2009 for Falcon_Core by  doxygen 1.5.8