X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/704a4b7524e05d7bf4d208eb1b30be9989abef4c..75d9e502238df95fa53c0030b1fac0d4f43e4025:/docs/latex/wx/filesys.tex diff --git a/docs/latex/wx/filesys.tex b/docs/latex/wx/filesys.tex index 0e7ec2db5e..091c522174 100644 --- a/docs/latex/wx/filesys.tex +++ b/docs/latex/wx/filesys.tex @@ -3,25 +3,27 @@ % filesystem.tex at 21/Mar/99 23:00:52 % - \section{\class{wxFileSystem}}\label{wxfilesystem} -This class provides interface for opening files on different +This class provides an interface for opening files on different file systems. It can handle absolute and/or local filenames. -It uses system of \helpref{handlers}{wxfilesystemhandler} to +It uses a system of \helpref{handlers}{wxfilesystemhandler} to provide access to user-defined virtual file systems. \wxheading{Derived from} -wxObject +\helpref{wxObject}{wxobject} + +\wxheading{Include files} + + \wxheading{See Also} -\helpref{wxFileSystemHandler}{wxfilesystemhandler}, -\helpref{wxFSFile}{wxfsfile}, +\helpref{wxFileSystemHandler}{wxfilesystemhandler}, +\helpref{wxFSFile}{wxfsfile}, \helpref{Overview}{fs} - \latexignore{\rtfignore{\wxheading{Members}}} @@ -31,36 +33,67 @@ wxObject Constructor. + +\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler} + +\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}} + +This static function adds new handler into the list of +\helpref{handlers}{wxfilesystemhandler} which provide access to virtual FS. +Note that if two handlers for the same protocol are added, the last one added +takes precedence. + +\wxheading{Note} + +You can call: + +\begin{verbatim} +wxFileSystem::AddHandler(new My_FS_Handler); +\end{verbatim} + +This is because (a) AddHandler is a static method, and (b) the handlers +are deleted in wxFileSystem's destructor so that you don't have to +care about it. + + +\membersection{wxFileSystem::HasHandlerForPath}\label{wxfilesystemhashandlerforpath} + +\func{static bool}{HasHandlerForPath}{\param{const wxString \&}{ location}} + +This static function returns \true if there is a registered handler which can open the given +location. + + \membersection{wxFileSystem::ChangePathTo}\label{wxfilesystemchangepathto} -\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = FALSE}} +\func{void}{ChangePathTo}{\param{const wxString\& }{location}, \param{bool }{is\_dir = false}} Sets the current location. {\it location} parameter passed to \helpref{OpenFile}{wxfilesystemopenfile} is relative to this path. -{\bf Caution! } Unless {\it is\_dir} is TRUE the {\it location} parameter -is not directory name but the name of the file in this directory!! All these -commands change path to "dir/subdir/" : +{\bf Caution! } Unless {\it is\_dir} is true the {\it location} parameter +is not the directory name but the name of the file in this directory. All these +commands change the path to "dir/subdir/": \begin{verbatim} -ChangePathTo("dir/subdir/xh.htm"); -ChangePathTo("dir/subdir", TRUE); -ChangePathTo("dir/subdir/", TRUE); + ChangePathTo("dir/subdir/xh.htm"); + ChangePathTo("dir/subdir", true); + ChangePathTo("dir/subdir/", true); \end{verbatim} \wxheading{Parameters} -\docparam{location}{the new location. Its meaning depends on value of {\it is\_dir}} +\docparam{location}{the new location. Its meaning depends on the value of {\it is\_dir}} -\docparam{is\_dir}{if TRUE {\it location} is new directory. If FALSE (default) +\docparam{is\_dir}{if true {\it location} is new directory. If false (default) {\it location} is {\bf file in} the new directory.} \wxheading{Example} \begin{verbatim} -f = fs -> OpenFile("hello.htm"); // opens file 'hello.htm' -fs -> ChangePathTo("subdir/folder", TRUE); -f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !! + f = fs -> OpenFile("hello.htm"); // opens file 'hello.htm' + fs -> ChangePathTo("subdir/folder", true); + f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !! \end{verbatim} @@ -71,31 +104,89 @@ f = fs -> OpenFile("hello.htm"); // opens file 'subdir/folder/hello.htm' !! Returns actual path (set by \helpref{ChangePathTo}{wxfilesystemchangepathto}). +\membersection{wxFileSystem::FileNameToURL}\label{wxfilesystemfilenametourl} + +\func{static wxString}{FileNameToURL}{\param{wxFileName }{filename}} + +Converts filename into URL. + +\wxheading{See also} + +\helpref{wxFileSystem::URLToFileName}{wxfilesystemurltofilename}, +\helpref{wxFileName}{wxfilename} + + +\membersection{wxFileSystem::FindFileInPath}\label{wxfilesystemfindfileinpath} + +\func{bool}{FindFileInPath}{\param{wxString }{*str}, \param{const wxString\& }{path}, \param{const wxString\& }{file}} + +Looks for the file with the given name \arg{file} in a colon or semi-colon +(depending on the current platform) separated list of directories in +\arg{path}. If the file is found in any directory, returns \true and the full +path of the file in \arg{str}, otherwise returns \false and doesn't modify +\arg{str}. + +\wxheading{Parameters} + +\docparam{str}{Receives the full path of the file, must not be \NULL} + +\docparam{path}{\texttt{wxPATH\_SEP}-separated list of directories} + +\docparam{file}{the name of the file to look for} + + +\membersection{wxFileSystem::FindFirst}\label{wxfilesystemfindfirst} + +\func{wxString}{FindFirst}{\param{const wxString\& }{wildcard}, \param{int }{flags = 0}} + +Works like \helpref{wxFindFirstFile}{wxfindfirstfile}. Returns name of the first +filename (within filesystem's current path) that matches {\it wildcard}. {\it flags} may be one of +wxFILE (only files), wxDIR (only directories) or 0 (both). + + +\membersection{wxFileSystem::FindNext}\label{wxfilesystemfindnext} + +\func{wxString}{FindNext}{\void} + +Returns the next filename that matches parameters passed to \helpref{FindFirst}{wxfilesystemfindfirst}. + + \membersection{wxFileSystem::OpenFile}\label{wxfilesystemopenfile} -\func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}} +\func{wxFSFile*}{OpenFile}{\param{const wxString\& }{location}, \param{int }{flags = wxFS\_READ}} -Opens file and returns pointer to \helpref{wxFSFile}{wxfsfile} object +Opens the file and returns a pointer to a \helpref{wxFSFile}{wxfsfile} object or NULL if failed. It first tries to open the file in relative scope (based on value passed to ChangePathTo() method) and then as an -absolute path. +absolute path. Note that the user is responsible for deleting the returned +wxFSFile. +{\it flags} can be one or more of the following bit values ored together: -\membersection{wxFileSystem::AddHandler}\label{wxfilesystemaddhandler} +\begin{verbatim} +// Open Bit Flags +enum { + wxFS_READ = 1, // Open for reading + wxFS_SEEKABLE = 4 // Returned stream will be seekable +}; +\end{verbatim} -\func{static void}{AddHandler}{\param{wxFileSystemHandler }{*handler}} +A stream opened with just the default {\it wxFS\_READ} flag may +or may not be seekable depending on the underlying source. +Passing {\it wxFS\_READ | wxFS\_SEEKABLE} for {\it flags} will +back a stream that is not natively seekable with memory or a file +and return a stream that is always seekable. -This static function adds new handler into the list of handlers. -The \helpref{handlers}{wxfilesystemhandler} provide access to virtual FS. -\wxheading{Note} +\membersection{wxFileSystem::URLToFileName}\label{wxfilesystemurltofilename} -You can call +\func{static wxFileName}{URLToFileName}{\param{const wxString\& }{url}} -\begin{verbatim} -wxFileSystem::AddHandler(new My_FS_Handler); -\end{verbatim} +Converts URL into a well-formed filename. The URL must use the {\tt file} +protocol. + +\wxheading{See also} + +\helpref{wxFileSystem::FileNameToURL}{wxfilesystemfilenametourl}, +\helpref{wxFileName}{wxfilename} -This is because a) AddHandler is static method and b) the handlers -are deleted in wxFileSystem's destructor so that you don't have to -care about it.