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