1% 2% automatically generated by HelpGen from 3% filesystemhandler.tex at 21/Mar/99 23:00:52 4% 5 6\section{\class{wxFileSystemHandler}}\label{wxfilesystemhandler} 7 8Classes derived from wxFileSystemHandler are used 9to access virtual file systems. Its public interface consists 10of two methods: \helpref{CanOpen}{wxfilesystemhandlercanopen} 11and \helpref{OpenFile}{wxfilesystemhandleropenfile}. 12It provides additional protected methods to simplify the process 13of opening the file: GetProtocol, GetLeftLocation, GetRightLocation, 14GetAnchor, GetMimeTypeFromExt. 15 16Please have a look at \helpref{overview}{fs} if you don't know how locations 17are constructed. 18 19Also consult \helpref{list of available handlers}{fs}. 20 21\perlnote{In wxPerl, you need to derive your file system handler class 22from Wx::PlFileSystemHandler.} 23 24\wxheading{Notes} 25 26\begin{itemize}\itemsep=0pt 27\item The handlers are shared by all instances of wxFileSystem. 28\item wxHTML library provides handlers for local files and HTTP or FTP protocol 29\item The {\it location} parameter passed to OpenFile or CanOpen methods 30is always an {\bf absolute} path. You don't need to check the FS's current path. 31\end{itemize} 32 33\wxheading{Derived from} 34 35\helpref{wxObject}{wxobject} 36 37\wxheading{Include files} 38 39<wx/filesys.h> 40 41\wxheading{See also} 42 43\helpref{wxFileSystem}{wxfilesystem}, 44\helpref{wxFSFile}{wxfsfile}, 45\helpref{Overview}{fs} 46 47\latexignore{\rtfignore{\wxheading{Members}}} 48 49 50\membersection{wxFileSystemHandler::wxFileSystemHandler}\label{wxfilesystemhandlerwxfilesystemhandler} 51 52\func{}{wxFileSystemHandler}{\void} 53 54Constructor. 55 56\membersection{wxFileSystemHandler::CanOpen}\label{wxfilesystemhandlercanopen} 57 58\func{virtual bool}{CanOpen}{\param{const wxString\& }{location}} 59 60Returns true if the handler is able to open this file. This function doesn't 61check whether the file exists or not, it only checks if it knows the protocol. 62Example: 63 64\begin{verbatim} 65bool MyHand::CanOpen(const wxString& location) 66{ 67 return (GetProtocol(location) == "http"); 68} 69\end{verbatim} 70 71Must be overridden in derived handlers. 72 73\membersection{wxFileSystemHandler::GetAnchor}\label{wxfilesystemhandlergetanchor} 74 75\constfunc{wxString}{GetAnchor}{\param{const wxString\& }{location}} 76 77Returns the anchor if present in the location. 78See \helpref{wxFSFile}{wxfsfilegetanchor} for details. 79 80Example: GetAnchor("index.htm\#chapter2") == "chapter2" 81 82{\bf Note:} the anchor is NOT part of the left location. 83 84\membersection{wxFileSystemHandler::GetLeftLocation}\label{wxfilesystemhandlergetleftlocation} 85 86\constfunc{wxString}{GetLeftLocation}{\param{const wxString\& }{location}} 87 88Returns the left location string extracted from {\it location}. 89 90Example: GetLeftLocation("file:myzipfile.zip\#zip:index.htm") == "file:myzipfile.zip" 91 92\membersection{wxFileSystemHandler::GetMimeTypeFromExt}\label{wxfilesystemhandlergetmimetypefromext} 93 94\func{wxString}{GetMimeTypeFromExt}{\param{const wxString\& }{location}} 95 96Returns the MIME type based on {\bf extension} of {\it location}. (While wxFSFile::GetMimeType 97returns real MIME type - either extension-based or queried from HTTP.) 98 99Example : GetMimeTypeFromExt("index.htm") == "text/html" 100 101\membersection{wxFileSystemHandler::GetProtocol}\label{wxfilesystemhandlergetprotocol} 102 103\constfunc{wxString}{GetProtocol}{\param{const wxString\& }{location}} 104 105Returns the protocol string extracted from {\it location}. 106 107Example: GetProtocol("file:myzipfile.zip\#zip:index.htm") == "zip" 108 109\membersection{wxFileSystemHandler::GetRightLocation}\label{wxfilesystemhandlergetrightlocation} 110 111\constfunc{wxString}{GetRightLocation}{\param{const wxString\& }{location}} 112 113Returns the right location string extracted from {\it location}. 114 115Example : GetRightLocation("file:myzipfile.zip\#zip:index.htm") == "index.htm" 116 117\membersection{wxFileSystemHandler::FindFirst}\label{wxfilesystemhandlerfindfirst} 118 119\func{virtual wxString}{FindFirst}{\param{const wxString\& }{wildcard}, \param{int }{flags = 0}} 120 121Works like \helpref{wxFindFirstFile}{wxfindfirstfile}. Returns name of the first 122filename (within filesystem's current path) that matches {\it wildcard}. {\it flags} may be one of 123wxFILE (only files), wxDIR (only directories) or 0 (both). 124 125This method is only called if \helpref{CanOpen}{wxfilesystemhandlercanopen} returns true. 126 127\membersection{wxFileSystemHandler::FindNext}\label{wxfilesystemhandlerfindnext} 128 129\func{virtual wxString}{FindNext}{\void} 130 131Returns next filename that matches parameters passed to \helpref{FindFirst}{wxfilesystemfindfirst}. 132 133This method is only called if \helpref{CanOpen}{wxfilesystemhandlercanopen} returns true and FindFirst 134returned a non-empty string. 135 136\membersection{wxFileSystemHandler::OpenFile}\label{wxfilesystemhandleropenfile} 137 138\func{virtual wxFSFile*}{OpenFile}{\param{wxFileSystem\& }{fs}, \param{const wxString\& }{location}} 139 140Opens the file and returns wxFSFile pointer or NULL if failed. 141 142Must be overridden in derived handlers. 143 144\wxheading{Parameters} 145 146\docparam{fs}{Parent FS (the FS from that OpenFile was called). See ZIP handler 147for details of how to use it.} 148 149\docparam{location}{The {\bf absolute} location of file.} 150 151