Version: 2.9.4
Public Member Functions | Static Public Member Functions | Static Protected Member Functions
wxFileSystemHandler Class Reference

#include </home/zeitlin/src/wx/github/interface/wx/filesys.h>

Inheritance diagram for wxFileSystemHandler:

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.

注意:
wxHTML library provides handlers for local files and HTTP or FTP protocol.
注:
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
参照:
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 wxFSFileOpenFile (wxFileSystem &fs, const wxString &location)=0
 Opens the file and returns wxFSFile pointer or NULL if failed.

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.

List of all members.


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. 例:

        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) [static, protected]

Returns the anchor if present in the location.

See wxFSFile::GetAnchor for details.

例:

        GetAnchor("index.htm#chapter2") == "chapter2"
注:
the anchor is NOT part of the left location.
static wxString wxFileSystemHandler::GetLeftLocation ( const wxString location) [static, protected]

Returns the left location string extracted from location.

例:

        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.)

例:

        GetMimeTypeFromExt("index.htm") == "text/html"
static wxString wxFileSystemHandler::GetProtocol ( const wxString location) [static, protected]

Returns the protocol string extracted from location.

例:

        GetProtocol("file:myzipfile.zip#zip:index.htm") == "zip"
static wxString wxFileSystemHandler::GetRightLocation ( const wxString location) [static, protected]

Returns the right location string extracted from location.

例:

        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:
fsParent FS (the FS from that OpenFile was called). See the ZIP handler for details of how to use it.
locationThe absolute location of file.
 All Classes Files Functions Variables Typedefs Enumerations Enumerator Friends Defines