Change wxFSFile::DetachStream to NULL the m_Stream member. Add SetStream().

git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@42478 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775
This commit is contained in:
Michael Wetherell
2006-10-26 22:45:52 +00:00
parent a8d2cf4e70
commit 03402e2909

View File

@@ -48,7 +48,6 @@ 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;
@@ -57,30 +56,40 @@ public:
#endif // wxUSE_DATETIME #endif // wxUSE_DATETIME
} }
virtual ~wxFSFile() { if (m_Stream && m_destroy) delete m_Stream; } virtual ~wxFSFile() { delete m_Stream; }
// returns stream. This doesn't _create_ stream, it only returns // returns stream. This doesn't give away ownership of the stream object.
// pointer to it. wxInputStream *GetStream() const { return m_Stream; }
wxInputStream *GetStream() const {return m_Stream;}
// gives away the ownership of stream // gives away the ownership of the current stream.
void DetachStream() { m_destroy = false; } wxInputStream *DetachStream()
{
wxInputStream *stream = m_Stream;
m_Stream = NULL;
return stream;
}
// deletes the current stream and takes ownership of another.
void SetStream(wxInputStream *stream)
{
delete m_Stream;
m_Stream = stream;
}
// returns file's mime type // returns file's mime type
const wxString& GetMimeType() const {return m_MimeType;} const wxString& GetMimeType() const { return m_MimeType; }
// returns the original location (aka filename) of the file // returns the original location (aka filename) of the file
const wxString& GetLocation() const {return m_Location;} const wxString& GetLocation() const { return m_Location; }
const wxString& GetAnchor() const {return m_Anchor;} const wxString& GetAnchor() const { return m_Anchor; }
#if wxUSE_DATETIME #if wxUSE_DATETIME
wxDateTime GetModificationTime() const {return m_Modif;} wxDateTime GetModificationTime() const { return m_Modif; }
#endif // wxUSE_DATETIME #endif // wxUSE_DATETIME
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;