| Version: 3.0.1

- Main Page
- Related Pages
- Categories
- Classes
- Files

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | Static Protected Member Functions | List of all members
wxFileSystemHandler Class Referenceabstract
Virtual File System

`#include <wx/filesys.h>`

Inheritance diagram for wxFileSystemHandler:
[legend]

## Detailed Description

Classes derived from wxFileSystemHandler are used to access virtual file systems.

Its public interface consists of two methods: wxFileSystemHandler::CanOpen and wxFileSystemHandler::OpenFile.

It provides additional protected methods to simplify the process of opening the file: GetProtocol(), GetLeftLocation(), GetRightLocation(), GetAnchor(), GetMimeTypeFromExt().

Please have a look at overview (see wxFileSystem) if you don't know how locations are constructed.

Also consult the list of available handlers.

Note that the handlers are shared by all instances of wxFileSystem.

Remarks
  wxHTML library provides handlers for local files and HTTP or FTP protocol.

Note
  The location parameter passed to OpenFile() or CanOpen() methods is always an absolute path. You don't need to check the FS's current path.

wxPerl Note: In wxPerl, you need to derive your file system handler class from `Wx::PlFileSystemHandler`.

##

Library: wxBase
Category: Virtual File System

See Also
  wxFileSystem, wxFSFile, wxFileSystem Overview

## Public Member Functions

| wxFileSystemHandler ()
| Constructor.
virtual bool | CanOpen (const wxString &location)=0
| Returns true if the handler is able to open this file.
virtual wxString | FindFirst (const wxString &wildcard, int flags=0)
| Works like wxFindFirstFile().
virtual wxString | FindNext ()
| Returns next filename that matches parameters passed to wxFileSystem::FindFirst.
virtual wxFSFile * | OpenFile (wxFileSystem &fs, const wxString &location)=0
| Opens the file and returns wxFSFile pointer or NULL if failed.
Public Member Functions inherited from wxObject
| wxObject ()
| Default ctor; initializes to NULL the internal reference data.
| wxObject (const wxObject &other)
| Copy ctor.
virtual | ~wxObject ()
| Destructor.
virtual wxClassInfo * | GetClassInfo () const
| This virtual function is redefined for every class that requires run-time type information, when using the wxDECLARE_CLASS macro (or similar).
wxObjectRefData * | GetRefData () const
| Returns the wxObject::m_refData pointer, i.e. the data referenced by this object.
bool | IsKindOf (const wxClassInfo *info) const
| Determines whether this class is a subclass of (or the same class as) the given class.
bool | IsSameAs (const wxObject &obj) const
| Returns true if this object has the same data pointer as obj.
void | Ref (const wxObject &clone)
| Makes this object refer to the data in clone.
void | SetRefData (wxObjectRefData *data)
| Sets the wxObject::m_refData pointer.
void | UnRef ()
| Decrements the reference count in the associated data, and if it is zero, deletes the data.
void | UnShare ()
| This is the same of AllocExclusive() but this method is public.
void | operator delete (void *buf)
| The delete operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined.
void * | operator new (size_t size, const wxString &filename=NULL, int lineNum=0)
| The new operator is defined for debugging versions of the library only, when the identifier `WXDEBUG` is defined.

## Static Public Member Functions

static wxString | GetMimeTypeFromExt (const wxString &location)
| Returns the MIME type based on extension of location.

## Static Protected Member Functions

static wxString | GetAnchor (const wxString &location)
| Returns the anchor if present in the location.
static wxString | GetLeftLocation (const wxString &location)
| Returns the left location string extracted from location.
static wxString | GetProtocol (const wxString &location)
| Returns the protocol string extracted from location.
static wxString | GetRightLocation (const wxString &location)
| Returns the right location string extracted from location.

## Additional Inherited Members

Protected Member Functions inherited from wxObject
void | AllocExclusive ()
| Ensure that this object's data is not shared with any other object.
virtual wxObjectRefData * | CreateRefData () const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and returns it.
virtual wxObjectRefData * | CloneRefData (const wxObjectRefData *data) const
| Creates a new instance of the wxObjectRefData-derived class specific to this object and initializes it copying data.
Protected Attributes inherited from wxObject
wxObjectRefData * | m_refData
| Pointer to an object which is the object's reference-counted data.

## Constructor & Destructor Documentation

wxFileSystemHandler::wxFileSystemHandler | ( |  | ) |

Constructor.

## Member Function Documentation

virtual bool wxFileSystemHandler::CanOpen | ( | const wxString & | location | ) |

pure virtual

Returns true if the handler is able to open this file.

This function doesn't check whether the file exists or not, it only checks if it knows the protocol. Example:

bool MyHand::CanOpen(const wxString& location)
{
return (GetProtocol(location) == "http");
}

Must be overridden in derived handlers.

virtual wxString wxFileSystemHandler::FindFirst | ( | const wxString & | wildcard,
|  | int | flags = `0`
| ) |  |

virtual

Works like wxFindFirstFile().

Returns the name of the first filename (within filesystem's current path) that matches wildcard. flags may be one of wxFILE (only files), wxDIR (only directories) or 0 (both).

This method is only called if CanOpen() returns true.

virtual wxString wxFileSystemHandler::FindNext | ( |  | ) |

virtual

Returns next filename that matches parameters passed to wxFileSystem::FindFirst.

This method is only called if CanOpen() returns true and FindFirst() returned a non-empty string.

static wxString wxFileSystemHandler::GetAnchor | ( | const wxString & | location | ) |

staticprotected

Returns the anchor if present in the location.

See wxFSFile::GetAnchor for details.

Example:

GetAnchor("index.htm#chapter2") == "chapter2"

Note
  the anchor is NOT part of the left location.

static wxString wxFileSystemHandler::GetLeftLocation | ( | const wxString & | location | ) |

staticprotected

Returns the left location string extracted from location.

Example:

GetLeftLocation("file:myzipfile.zip#zip:index.htm") == "file:myzipfile.zip"

static wxString wxFileSystemHandler::GetMimeTypeFromExt | ( | const wxString & | location | ) |

static

Returns the MIME type based on extension of location.

(While wxFSFile::GetMimeType() returns real MIME type - either extension-based or queried from HTTP.)

Example:

GetMimeTypeFromExt("index.htm") == "text/html"

static wxString wxFileSystemHandler::GetProtocol | ( | const wxString & | location | ) |

staticprotected

Returns the protocol string extracted from location.

Example:

GetProtocol("file:myzipfile.zip#zip:index.htm") == "zip"

static wxString wxFileSystemHandler::GetRightLocation | ( | const wxString & | location | ) |

staticprotected

Returns the right location string extracted from location.

Example:

GetRightLocation("file:myzipfile.zip#zip:index.htm") == "index.htm"

virtual wxFSFile* wxFileSystemHandler::OpenFile | ( | wxFileSystem & | fs,
|  | const wxString & | location
| ) |  |

pure virtual

Opens the file and returns wxFSFile pointer or NULL if failed.

Must be overridden in derived handlers.

Parameters

  fs | Parent FS (the FS from that OpenFile was called). See the ZIP handler for details of how to use it.
  location | The absolute location of file.