2005/5/9

     
 

class FileSystem

artefaktur
Modules   Namespace List   Class Hierarchy   Alphabetical List   Compound List   Namespace Members   Compound Members   Related Pages  

acdk::io::FileSystem Class Reference

#include <FileSystem.h>

Inheritance diagram for acdk::io::FileSystem:

acdk::io::RessourceFileSystem acdk::io::StandardFileSystem acdk::net::ftp::FTPFileSystem acdk::net::srfsys::SRFileSystemClient acdk::net::UrlFileSystem acdk::vfile::tar::TarFileSystem acdk::vfile::zip::ZipFileSystem List of all members.

Detailed Description

This Interface should implement the basic Filesystem operations.

It cooperates with FileImpl. An important reason to introduce this indirection in the File interface is to be able to support archive files (TAR, ZIP) remote file systems (FTP) and other virtual file systems like DCOM documents or shell directories.

Please refer also to  acdk::io::FileSystem.

Author:
Roger Rene Kommer
See also:
FileImpl


Public Member Functions

 FileSystem ()
virtual bool ownsFile (IN(RString) fname)=0
virtual RString getRootName ()=0
 returns the root name of the this file system Examples: /home/roger/myfile.zip ftp://ftp.artefaktur.com

virtual RFileArray listFiles (IN(RString) directory, int listflags)=0
virtual RFile file (IN(RString) path)=0
 creates an instance of given file.

virtual RFileImpl getFileImpl (IN(RString) fqpath)=0
 returns a file implementation for this full qualified file implementation


Static Public Member Functions

void registerFileSystem (IN(RFileSystem) fs)
 To improve performance of File system File system will be cached in a weak referenced hash map.

void registerFileSystemFactory (IN(RFileSystemFactory) fsf)
void unRegisterFileSystemFactory (IN(RFileSystemFactory) fsf)
RFileSystem findFileSystem (IN(RString) file)

Static Protected Member Functions

void loadPropertyFileSystemHandler ()
 look if in the Systems properterty a Filesystem is registered for this filename


Constructor & Destructor Documentation

acdk::io::FileSystem::FileSystem  ) 
 


Member Function Documentation

virtual RFile acdk::io::FileSystem::file IN(RString path  )  [pure virtual]
 

creates an instance of given file.

Parameters:
path is without the FS name
Returns:
returns a new File.

Implemented in acdk::io::RessourceFileSystem, acdk::io::StandardFileSystem, acdk::net::ftp::FTPFileSystem, acdk::net::srfsys::SRFileSystemClient, acdk::net::UrlFileSystem, acdk::vfile::tar::TarFileSystem, and acdk::vfile::zip::ZipFileSystem.

RFileSystem acdk::io::FileSystem::findFileSystem IN(RString file  )  [static]
 

virtual RFileImpl acdk::io::FileSystem::getFileImpl IN(RString fqpath  )  [pure virtual]
 

returns a file implementation for this full qualified file implementation

Implemented in acdk::io::RessourceFileSystem, acdk::io::StandardFileSystem, acdk::net::ftp::FTPFileSystem, acdk::net::srfsys::SRFileSystemClient, acdk::net::UrlFileSystem, acdk::vfile::tar::TarFileSystem, and acdk::vfile::zip::ZipFileSystem.

virtual RString acdk::io::FileSystem::getRootName  )  [pure virtual]
 

returns the root name of the this file system Examples: /home/roger/myfile.zip ftp://ftp.artefaktur.com

Implemented in acdk::io::RessourceFileSystem, acdk::io::StandardFileSystem, acdk::net::ftp::FTPFileSystem, acdk::net::srfsys::SRFileSystemClient, acdk::net::UrlFileSystem, acdk::vfile::tar::TarFileSystem, and acdk::vfile::zip::ZipFileSystem.

virtual RFileArray acdk::io::FileSystem::listFiles IN(RString directory,
int  listflags
[pure virtual]
 

Parameters:
directory the absolute name with out the FSname
listflags a combination of ListFlags
Returns:
list of files

Implemented in acdk::io::RessourceFileSystem, acdk::io::StandardFileSystem, acdk::net::ftp::FTPFileSystem, acdk::net::srfsys::SRFileSystemClient, acdk::net::UrlFileSystem, acdk::vfile::tar::TarFileSystem, and acdk::vfile::zip::ZipFileSystem.

void acdk::io::FileSystem::loadPropertyFileSystemHandler  )  [static, protected]
 

look if in the Systems properterty a Filesystem is registered for this filename

virtual bool acdk::io::FileSystem::ownsFile IN(RString fname  )  [pure virtual]
 

Returns:
true, if given (absolut) file name is part of this file system. Example: /dir/subdir/file.dat -> owns StandardFileSystem /dir/file.zip@/subdir/file.data -> owns ZipFileSystem(/dir/file.zip)

Implemented in acdk::io::RessourceFileSystem, acdk::io::StandardFileSystem, acdk::net::ftp::FTPFileSystem, acdk::net::srfsys::SRFileSystemClient, acdk::net::UrlFileSystem, acdk::vfile::tar::TarFileSystem, and acdk::vfile::zip::ZipFileSystem.

void acdk::io::FileSystem::registerFileSystem IN(RFileSystem fs  )  [static]
 

To improve performance of File system File system will be cached in a weak referenced hash map.

This means, the FileSystem will only hold, if there is an File instance in this FileSystem.

void acdk::io::FileSystem::registerFileSystemFactory IN(RFileSystemFactory fsf  )  [static]
 

void acdk::io::FileSystem::unRegisterFileSystemFactory IN(RFileSystemFactory fsf  )  [static]