From 10c2f98a3951e534ac608fb801dd44f795733b82 Mon Sep 17 00:00:00 2001 From: Robert Roebling Date: Sun, 11 Jan 2009 19:37:11 +0000 Subject: [PATCH] Added interface for getting/setting text converter of wxDataInputStream and wxDataOutputStream git-svn-id: https://svn.wxwidgets.org/svn/wx/wxWidgets/trunk@58028 c3d73ce0-8a6f-49c7-b76d-6d57e0e08775 --- include/wx/datstrm.h | 10 ++++++++++ interface/wx/datstrm.h | 23 +++++++++++++++++++++++ src/common/datstrm.cpp | 16 ++++++++++++++++ 3 files changed, 49 insertions(+) diff --git a/include/wx/datstrm.h b/include/wx/datstrm.h index ef049c9f2a..c11de7b204 100644 --- a/include/wx/datstrm.h +++ b/include/wx/datstrm.h @@ -78,6 +78,11 @@ public: wxDataInputStream& operator>>(float& f); void BigEndianOrdered(bool be_order) { m_be_order = be_order; } + +#if wxUSE_UNICODE + void SetConv( const wxMBConv &conv ); + wxMBConv *GetConv() const { return m_conv; } +#endif protected: wxInputStream *m_input; @@ -152,6 +157,11 @@ public: void BigEndianOrdered(bool be_order) { m_be_order = be_order; } +#if wxUSE_UNICODE + void SetConv( const wxMBConv &conv ); + wxMBConv *GetConv() const { return m_conv; } +#endif + protected: wxOutputStream *m_output; bool m_be_order; diff --git a/interface/wx/datstrm.h b/interface/wx/datstrm.h index 8ff65a4495..387cb43467 100644 --- a/interface/wx/datstrm.h +++ b/interface/wx/datstrm.h @@ -57,7 +57,18 @@ public: order. */ void BigEndianOrdered(bool be_order); + + /** + Returns the current text conversion class used for + writing strings. + */ + wxMBConv *GetConv() const; + /** + Sets the text conversion class used for writing strings. + */ + void SetConv( const wxMBConv &conv ); + /** Writes the single byte @a i8 to the stream. */ @@ -193,6 +204,13 @@ public: */ void BigEndianOrdered(bool be_order); + + /** + Returns the current text conversion class used for + reading strings. + */ + wxMBConv *GetConv() const; + /** Reads a single byte from the stream. */ @@ -260,5 +278,10 @@ public: @see wxDataOutputStream::WriteString() */ wxString ReadString(); + + /** + Sets the text conversion class used for reading strings. + */ + void SetConv( const wxMBConv &conv ); }; diff --git a/src/common/datstrm.cpp b/src/common/datstrm.cpp index d568c6d7c0..8a97eca767 100644 --- a/src/common/datstrm.cpp +++ b/src/common/datstrm.cpp @@ -45,6 +45,14 @@ wxDataInputStream::~wxDataInputStream() #endif // wxUSE_UNICODE } +#if wxUSE_UNICODE +void wxDataInputStream::SetConv( const wxMBConv &conv ) +{ + delete m_conv; + m_conv = conv.Clone(); +} +#endif + #if wxHAS_INT64 wxUint64 wxDataInputStream::Read64() { @@ -473,6 +481,14 @@ wxDataOutputStream::~wxDataOutputStream() #endif // wxUSE_UNICODE } +#if wxUSE_UNICODE +void wxDataOutputStream::SetConv( const wxMBConv &conv ) +{ + delete m_conv; + m_conv = conv.Clone(); +} +#endif + #if wxHAS_INT64 void wxDataOutputStream::Write64(wxUint64 i) { -- 2.45.2