1%
2% automatically generated by HelpGen from
3% fsfile.tex at 21/Mar/99 23:00:52
4%
5
6\section{\class{wxFSFile}}\label{wxfsfile}
7
8This class represents a single file opened by \helpref{wxFileSystem}{wxfilesystem}.
9It provides more information than wxWindow's input stream 
10(stream, filename, mime type, anchor).
11
12{\bf Note:} Any pointer returned by a method of wxFSFile is valid
13only as long as the wxFSFile object exists. For example a call to GetStream()
14doesn't {\it create} the stream but only returns the pointer to it. In
15other words after 10 calls to GetStream() you will obtain ten identical
16pointers.
17
18\wxheading{Derived from}
19
20\helpref{wxObject}{wxobject}
21
22\wxheading{Include files}
23
24<wx/filesys.h>
25
26\wxheading{See Also}
27
28\helpref{wxFileSystemHandler}{wxfilesystemhandler}, 
29\helpref{wxFileSystem}{wxfilesystem}, 
30\helpref{Overview}{fs}
31
32\latexignore{\rtfignore{\wxheading{Members}}}
33
34\membersection{wxFSFile::wxFSFile}\label{wxfsfilewxfsfile}
35
36\func{}{wxFSFile}{\param{wxInputStream }{*stream}, \param{const wxString\& }{loc}, \param{const wxString\& }{mimetype}, \param{const wxString\& }{anchor}, \param{wxDateTime }{modif}}
37
38Constructor. You probably won't use it. See Notes for details.
39
40\wxheading{Parameters}
41
42\docparam{stream}{The input stream that will be used to access data}
43
44\docparam{location}{The full location (aka filename) of the file}
45
46\docparam{mimetype}{MIME type of this file. Mime type is either extension-based or HTTP Content-Type}
47
48\docparam{anchor}{Anchor. See \helpref{GetAnchor()}{wxfsfilegetanchor} for details.}
49
50If you are not sure of the meaning of these params, see the description of the GetXXXX()
51functions.
52
53\wxheading{Notes}
54
55It is seldom used by the application programmer but you will need it if
56you are writing your own virtual FS. For example you may need something
57similar to wxMemoryInputStream, but because wxMemoryInputStream
58doesn't free the memory when destroyed and thus passing a memory stream
59pointer into wxFSFile constructor would lead to memory leaks, you
60can write your own class derived from wxFSFile:
61
62\begin{verbatim}
63class wxMyFSFile : public wxFSFile
64{
65    private:
66        void *m_Mem;
67    public:
68        wxMyFSFile(.....)
69	~wxMyFSFile() {free(m_Mem);}
70	    // of course dtor is virtual ;-)
71};
72\end{verbatim}
73
74\membersection{wxFSFile::DetachStream}\label{wxfsfiledetachstream}
75
76\func{void}{DetachStream}{\void}
77
78Detaches the stream from the wxFSFile object. That is, the
79stream obtained with {\tt GetStream()} will continue its existance
80after the wxFSFile object is deleted. You will have to delete
81the stream yourself.
82
83\membersection{wxFSFile::GetAnchor}\label{wxfsfilegetanchor}
84
85\constfunc{const wxString\&}{GetAnchor}{\void}
86
87Returns anchor (if present). The term of {\bf anchor} can be easily
88explained using few examples:
89
90\begin{verbatim}
91index.htm#anchor                      /* 'anchor' is anchor */
92index/wx001.htm                       /* NO anchor here!    */
93archive/main.zip#zip:index.htm#global /* 'global'           */
94archive/main.zip#zip:index.htm        /* NO anchor here!    */
95\end{verbatim}
96
97Usually an anchor is presented only if the MIME type is 'text/html'.
98But it may have some meaning with other files;
99for example myanim.avi\#200 may refer to position in animation
100or reality.wrl\#MyView may refer to a predefined view in VRML.
101
102\membersection{wxFSFile::GetLocation}\label{wxfsfilegetlocation}
103
104\constfunc{const wxString\&}{GetLocation}{\void}
105
106Returns full location of the file, including path and protocol. 
107Examples : 
108
109\begin{verbatim}
110http://www.wxwidgets.org
111http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/archive.zip#zip:info.txt
112file:/home/vasek/index.htm
113relative-file.htm
114\end{verbatim}
115
116\membersection{wxFSFile::GetMimeType}\label{wxfsfilegetmimetype}
117
118\constfunc{const wxString\&}{GetMimeType}{\void}
119
120Returns the MIME type of the content of this file. It is either
121extension-based (see wxMimeTypesManager) or extracted from
122HTTP protocol Content-Type header.
123
124\membersection{wxFSFile::GetModificationTime}\label{wxfsfilegetmodificationtime}
125
126\constfunc{wxDateTime}{GetModificationTime}{\void}
127
128Returns time when this file was modified.
129
130\membersection{wxFSFile::GetStream}\label{wxfsfilegetstream}
131
132\constfunc{wxInputStream*}{GetStream}{\void}
133
134Returns pointer to the stream. You can use the returned
135stream to directly access data. You may suppose
136that the stream provide Seek and GetSize functionality
137(even in the case of the HTTP protocol which doesn't provide
138this by default. wxHtml uses local cache to work around
139this and to speed up the connection).
140
141