1% 2% automatically generated by HelpGen from 3% filesystem.tex at 21/Mar/99 23:00:52 4% 5 6\section{\class{wxFileSystem}}\label{wxfilesystem} 7 8This class provides an interface for opening files on different 9file systems. It can handle absolute and/or local filenames. 10It uses a system of \helpref{handlers}{wxfilesystemhandler} to 11provide access to user-defined virtual file systems. 12 13\wxheading{Derived from} 14 15\helpref{wxObject}{wxobject} 16 17\wxheading{Include files} 18 19<wx/filesys.h> 20 21\wxheading{See Also} 22 23\helpref{wxFileSystemHandler}{wxfilesystemhandler}, 24\helpref{wxFSFile}{wxfsfile}, 25\helpref{Overview}{fs} 26 27\latexignore{\rtfignore{\wxheading{Members}}} 28 29 30\membersection{wxFileSystem::wxFileSystem}\label{wxfilesystemwxfilesystem} 31 32\func{}{wxFileSystem}{\void} 33 34Constructor. 35 36 37\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler} 38 39\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}} 40 41This static function adds new handler into the list of 42\helpref{handlers}{wxfilesystemhandler} which provide access to virtual FS. 43Note that if two handlers for the same protocol are added, the last one added 44takes precedence. 45 46\wxheading{Note} 47 48You can call: 49 50\begin{verbatim} 51wxFileSystem::AddHandler(new My_FS_Handler); 52\end{verbatim} 53 54This is because (a) AddHandler is a static method, and (b) the handlers 55are deleted in wxFileSystem's destructor so that you don't have to 56care about it. 57 58 59\membersection{wxFileSystem::HasHandlerForPath}\label{wxfilesystemhashandlerforpath} 60 61\func{static bool}{HasHandlerForPath}{\param{const wxString \&}{ location}} 62 63This static function returns \true if there is a registered handler which can open the given 64location. 65 66 67\membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto} 68 69\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = false}} 70 71Sets the current location. {\it location} parameter passed to 72\helpref{OpenFile}{wxfilesystemopenfile} is relative to this path. 73 74{\bf Caution! } Unless {\it is\_dir} is true the {\it location} parameter 75is not the directory name but the name of the file in this directory. All these 76commands change the path to "dir/subdir/": 77 78\begin{verbatim} 79 ChangePathTo("dir/subdir/xh.htm"); 80 ChangePathTo("dir/subdir", true); 81 ChangePathTo("dir/subdir/", true); 82\end{verbatim} 83 84\wxheading{Parameters} 85 86\docparam{location}{the new location. Its meaning depends on the value of {\it is\_dir}} 87 88\docparam{is\_dir}{if true {\it location} is new directory. If false (default) 89{\it location} is {\bf file in} the new directory.} 90 91\wxheading{Example} 92 93\begin{verbatim} 94 f = fs -> OpenFile("hello.htm"); // opens file 'hello.htm' 95 fs -> ChangePathTo("subdir/folder", true); 96 f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !! 97\end{verbatim} 98 99 100\membersection{wxFileSystem::GetPath}\label{wxfilesystemgetpath} 101 102\func{wxString}{GetPath}{\void} 103 104Returns actual path (set by \helpref{ChangePathTo}{wxfilesystemchangepathto}). 105 106 107\membersection{wxFileSystem::FileNameToURL}\label{wxfilesystemfilenametourl} 108 109\func{static wxString}{FileNameToURL}{\param{wxFileName }{filename}} 110 111Converts filename into URL. 112 113\wxheading{See also} 114 115\helpref{wxFileSystem::URLToFileName}{wxfilesystemurltofilename}, 116\helpref{wxFileName}{wxfilename} 117 118 119\membersection{wxFileSystem::FindFileInPath}\label{wxfilesystemfindfileinpath} 120 121\func{bool}{FindFileInPath}{\param{wxString }{*str}, \param{const wxChar }{*path}, \param{const wxChar }{*file}} 122 123Looks for the file with the given name \arg{file} in a colon or semi-colon 124(depending on the current platform) separated list of directories in 125\arg{path}. If the file is found in any directory, returns \true and the full 126path of the file in \arg{str}, otherwise returns \false and doesn't modify 127\arg{str}. 128 129\wxheading{Parameters} 130 131\docparam{str}{Receives the full path of the file, must not be \NULL} 132 133\docparam{path}{\texttt{wxPATH\_SEP}-separated list of directories} 134 135\docparam{file}{the name of the file to look for} 136 137 138\membersection{wxFileSystem::FindFirst}\label{wxfilesystemfindfirst} 139 140\func{wxString}{FindFirst}{\param{const wxString\& }{wildcard}, \param{int }{flags = 0}} 141 142Works like \helpref{wxFindFirstFile}{wxfindfirstfile}. Returns name of the first 143filename (within filesystem's current path) that matches {\it wildcard}. {\it flags} may be one of 144wxFILE (only files), wxDIR (only directories) or 0 (both). 145 146 147\membersection{wxFileSystem::FindNext}\label{wxfilesystemfindnext} 148 149\func{wxString}{FindNext}{\void} 150 151Returns the next filename that matches parameters passed to \helpref{FindFirst}{wxfilesystemfindfirst}. 152 153 154\membersection{wxFileSystem::OpenFile}\label{wxfilesystemopenfile} 155 156\func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}, \param{int }{flags = wxFS\_READ}} 157 158Opens the file and returns a pointer to a \helpref{wxFSFile}{wxfsfile} object 159or NULL if failed. It first tries to open the file in relative scope 160(based on value passed to ChangePathTo() method) and then as an 161absolute path. Note that the user is responsible for deleting the returned 162wxFSFile. 163 164{\it flags} can be one or more of the following bit values ored together: 165 166\begin{verbatim} 167// Open Bit Flags 168enum { 169 wxFS_READ = 1, // Open for reading 170 wxFS_SEEKABLE = 4 // Returned stream will be seekable 171}; 172\end{verbatim} 173 174A stream opened with just the default {\it wxFS\_READ} flag may 175or may not be seekable depending on the underlying source. 176Passing {\it wxFS\_READ | wxFS\_SEEKABLE} for {\it flags} will 177back a stream that is not natively seekable with memory or a file 178and return a stream that is always seekable. 179 180 181\membersection{wxFileSystem::URLToFileName}\label{wxfilesystemurltofilename} 182 183\func{static wxFileName}{URLToFileName}{\param{const wxString\& }{url}} 184 185Converts URL into a well-formed filename. The URL must use the {\tt file} 186protocol. 187 188\wxheading{See also} 189 190\helpref{wxFileSystem::FileNameToURL}{wxfilesystemfilenametourl}, 191\helpref{wxFileName}{wxfilename} 192 193