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