This class represents a single file opened by wxFileSystem. It provides more information than wxWindow's input stream (stream, filename, mime type, anchor).
Note: Any pointer returned by a method of wxFSFile is valid only as long as the wxFSFile object exists. For example a call to GetStream() doesn't create the stream but only returns the pointer to it. In other words after 10 calls to GetStream() you will obtain ten identical pointers.
Derived from
Include files
<wx/filesys.h>
See Also
wxFileSystemHandler, wxFileSystem, Overview
Members
wxFSFile::wxFSFile
wxFSFile::GetAnchor
wxFSFile::GetLocation
wxFSFile::GetMimeType
wxFSFile::GetModificationTime
wxFSFile::GetStream
wxFSFile(wxInputStream *stream, const wxString& loc, const wxString& mimetype, const wxString& anchor, wxDateTime modif)
Constructor. You probably won't use it. See Notes for details.
Parameters
stream
location
mimetype
anchor
If you are not sure of the meaning of these params, see the description of the GetXXXX() functions.
Notes
It is seldom used by the application programmer but you will need it if you are writing your own virtual FS. For example you may need something similar to wxMemoryInputStream, but because wxMemoryInputStream doesn't free the memory when destroyed and thus passing a memory stream pointer into wxFSFile constructor would lead to memory leaks, you can write your own class derived from wxFSFile:
class wxMyFSFile : public wxFSFile { private: void *m_Mem; public: wxMyFSFile(.....) ~wxMyFSFile() {free(m_Mem);} // of course dtor is virtual ;-) };
const wxString& GetAnchor() const
Returns anchor (if present). The term of anchor can be easily explained using few examples:
index.htm#anchor /* 'anchor' is anchor */ index/wx001.htm /* NO anchor here! */ archive/main.zip#zip:index.htm#global /* 'global' */ archive/main.zip#zip:index.htm /* NO anchor here! */Usually an anchor is presented only if the MIME type is 'text/html'. But it may have some meaning with other files; for example myanim.avi#200 may refer to position in animation or reality.wrl#MyView may refer to a predefined view in VRML.
const wxString& GetLocation() const
Returns full location of the file, including path and protocol. Examples :
http://www.wxwidgets.org http://www.ms.mff.cuni.cz/~vsla8348/wxhtml/archive.zip#zip:info.txt file:/home/vasek/index.htm relative-file.htm
const wxString& GetMimeType() const
Returns the MIME type of the content of this file. It is either extension-based (see wxMimeTypesManager) or extracted from HTTP protocol Content-Type header.
wxDateTime GetModificationTime() const
Returns time when this file was modified.
wxInputStream* GetStream() const
Returns pointer to the stream. You can use the returned stream to directly access data. You may suppose that the stream provide Seek and GetSize functionality (even in the case of the HTTP protocol which doesn't provide this by default. wxHtml uses local cache to work around this and to speed up the connection).