X-Git-Url: https://git.saurik.com/wxWidgets.git/blobdiff_plain/41b0a1139d039c486983ad3ca020217f17fd7414..6f8c67e71020cb3b7779b1267dda8702423e7c42:/include/wx/datstrm.h diff --git a/include/wx/datstrm.h b/include/wx/datstrm.h index a222f1bc1a..190ff341aa 100644 --- a/include/wx/datstrm.h +++ b/include/wx/datstrm.h @@ -2,31 +2,36 @@ // Name: datstrm.h // Purpose: Data stream classes // Author: Guilhem Lavaux -// Modified by: +// Modified by: Mickael Gilabert // Created: 28/06/1998 // RCS-ID: $Id$ // Copyright: (c) Guilhem Lavaux -// Licence: wxWindows license +// Licence: wxWindows licence ///////////////////////////////////////////////////////////////////////////// #ifndef _WX_DATSTREAM_H_ #define _WX_DATSTREAM_H_ -#ifdef __GNUG__ +#if defined(__GNUG__) && !defined(NO_GCC_PRAGMA) #pragma interface "datstrm.h" #endif #include "wx/stream.h" #include "wx/longlong.h" +#include "wx/strconv.h" #if wxUSE_STREAMS -class WXDLLEXPORT wxDataInputStream +class WXDLLIMPEXP_BASE wxDataInputStream { public: +#if wxUSE_UNICODE + wxDataInputStream(wxInputStream& s, wxMBConv& conv = wxConvUTF8); +#else wxDataInputStream(wxInputStream& s); - ~wxDataInputStream(); - +#endif + ~wxDataInputStream(){} + bool IsOk() { return m_input->IsOk(); } wxUint64 Read64(); @@ -36,6 +41,12 @@ public: double ReadDouble(); wxString ReadString(); + void Read64(wxUint64 *buffer, size_t size); + void Read32(wxUint32 *buffer, size_t size); + void Read16(wxUint16 *buffer, size_t size); + void Read8(wxUint8 *buffer, size_t size); + void ReadDouble(double *buffer, size_t size); + wxDataInputStream& operator>>(wxString& s); wxDataInputStream& operator>>(wxInt8& c); wxDataInputStream& operator>>(wxInt16& i); @@ -52,13 +63,22 @@ public: protected: wxInputStream *m_input; bool m_be_order; +#if wxUSE_UNICODE + wxMBConv& m_conv; +#endif + + DECLARE_NO_COPY_CLASS(wxDataInputStream) }; -class WXDLLEXPORT wxDataOutputStream +class WXDLLIMPEXP_BASE wxDataOutputStream { public: +#if wxUSE_UNICODE + wxDataOutputStream(wxOutputStream& s, wxMBConv& conv = wxConvUTF8); +#else wxDataOutputStream(wxOutputStream& s); - ~wxDataOutputStream(); +#endif + ~wxDataOutputStream(){} bool IsOk() { return m_output->IsOk(); } @@ -69,6 +89,12 @@ public: void WriteDouble(double d); void WriteString(const wxString& string); + void Write64(const wxUint64 *buffer, size_t size); + void Write32(const wxUint32 *buffer, size_t size); + void Write16(const wxUint16 *buffer, size_t size); + void Write8(const wxUint8 *buffer, size_t size); + void WriteDouble(const double *buffer, size_t size); + wxDataOutputStream& operator<<(const wxChar *string); wxDataOutputStream& operator<<(const wxString& string); wxDataOutputStream& operator<<(wxInt8 c); @@ -86,6 +112,11 @@ public: protected: wxOutputStream *m_output; bool m_be_order; +#if wxUSE_UNICODE + wxMBConv& m_conv; +#endif + + DECLARE_NO_COPY_CLASS(wxDataOutputStream) }; #endif