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) {