Applied patch which allows you to detach a stream
from a wxFSFile. Patch 1190378 git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@41034 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
@@ -71,6 +71,15 @@ class wxMyFSFile : public wxFSFile
|
|||||||
};
|
};
|
||||||
\end{verbatim}
|
\end{verbatim}
|
||||||
|
|
||||||
|
\membersection{wxFSFile::DetachStream}\label{wxfsfiledetachstream}
|
||||||
|
|
||||||
|
\func{void}{DetachStream}{\void}
|
||||||
|
|
||||||
|
Detaches the stream from the wxFSFile object. That is, the
|
||||||
|
stream obtained with {\tt GetStream()} will continue its existance
|
||||||
|
after the wxFSFile object is deleted. You will have to delete
|
||||||
|
the stream yourself.
|
||||||
|
|
||||||
\membersection{wxFSFile::GetAnchor}\label{wxfsfilegetanchor}
|
\membersection{wxFSFile::GetAnchor}\label{wxfsfilegetanchor}
|
||||||
|
|
||||||
\constfunc{const wxString\&}{GetAnchor}{\void}
|
\constfunc{const wxString\&}{GetAnchor}{\void}
|
||||||
|
@@ -48,6 +48,7 @@ public:
|
|||||||
)
|
)
|
||||||
{
|
{
|
||||||
m_Stream = stream;
|
m_Stream = stream;
|
||||||
|
m_destroy = true;
|
||||||
m_Location = loc;
|
m_Location = loc;
|
||||||
m_MimeType = mimetype; m_MimeType.MakeLower();
|
m_MimeType = mimetype; m_MimeType.MakeLower();
|
||||||
m_Anchor = anchor;
|
m_Anchor = anchor;
|
||||||
@@ -56,12 +57,15 @@ public:
|
|||||||
#endif // wxUSE_DATETIME
|
#endif // wxUSE_DATETIME
|
||||||
}
|
}
|
||||||
|
|
||||||
virtual ~wxFSFile() { if (m_Stream) delete m_Stream; }
|
virtual ~wxFSFile() { if (m_Stream && m_destroy) delete m_Stream; }
|
||||||
|
|
||||||
// returns stream. This doesn't _create_ stream, it only returns
|
// returns stream. This doesn't _create_ stream, it only returns
|
||||||
// pointer to it.
|
// pointer to it.
|
||||||
wxInputStream *GetStream() const {return m_Stream;}
|
wxInputStream *GetStream() const {return m_Stream;}
|
||||||
|
|
||||||
|
// gives away the ownership of stream
|
||||||
|
void DetachStream() { m_destroy = false; }
|
||||||
|
|
||||||
// returns file's mime type
|
// returns file's mime type
|
||||||
const wxString& GetMimeType() const {return m_MimeType;}
|
const wxString& GetMimeType() const {return m_MimeType;}
|
||||||
|
|
||||||
@@ -76,6 +80,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
wxInputStream *m_Stream;
|
wxInputStream *m_Stream;
|
||||||
|
bool m_destroy;
|
||||||
wxString m_Location;
|
wxString m_Location;
|
||||||
wxString m_MimeType;
|
wxString m_MimeType;
|
||||||
wxString m_Anchor;
|
wxString m_Anchor;
|
||||||
|
Reference in New Issue
Block a user