#include "wx/wxprec.h"
#ifdef __BORLANDC__
-#pragma hdrstop
+ #pragma hdrstop
#endif
-#ifndef WX_PRECOMP
-#include "wx/defs.h"
-#endif
+#if wxUSE_STREAMS
#include "wx/datstrm.h"
-#if !USE_SHARED_LIBRARY
-IMPLEMENT_CLASS(wxDataInputStream, wxFilterInputStream)
-IMPLEMENT_CLASS(wxDataOutputStream, wxFilterOutputStream)
-#endif
+// ---------------------------------------------------------------------------
+// wxDataInputStream
+// ---------------------------------------------------------------------------
wxDataInputStream::wxDataInputStream(wxInputStream& s)
: wxFilterInputStream(s)
{
}
-unsigned long wxDataInputStream::Read32()
+wxUint32 wxDataInputStream::Read32()
{
char buf[4];
- if (!m_parent_i_stream)
- return 0;
-
Read(buf, 4);
- return (unsigned long)buf[0] |
- ((unsigned long)buf[1] << 8) |
- ((unsigned long)buf[2] << 16) |
- ((unsigned long)buf[3] << 24);
+ return (wxUint32)buf[0] |
+ ((wxUint32)buf[1] << 8) |
+ ((wxUint32)buf[2] << 16) |
+ ((wxUint32)buf[3] << 24);
}
-unsigned short wxDataInputStream::Read16()
+wxUint16 wxDataInputStream::Read16()
{
char buf[2];
- if (!m_parent_i_stream)
- return 0;
-
Read(buf, 2);
- return (unsigned short)buf[0] |
- ((unsigned short)buf[1] << 8);
+ return (wxUint16)buf[0] |
+ ((wxUint16)buf[1] << 8);
}
-unsigned char wxDataInputStream::Read8()
+wxUint8 wxDataInputStream::Read8()
{
- char buf;
+ wxUint8 buf;
- if (!m_parent_i_stream)
- return 0;
-
- Read(&buf, 1);
- return (unsigned char)buf;
+ Read((char *)&buf, 1);
+ return (wxUint8)buf;
}
// Must be at global scope for VC++ 5
double wxDataInputStream::ReadDouble()
{
-#if USE_APPLE_IEEE
+#if wxUSE_APPLE_IEEE
char buf[10];
- if (!m_parent_i_stream)
- return 0.0;
-
Read(buf, 10);
return ConvertFromIeeeExtended((unsigned char *)buf);
#else
#endif
}
-wxString wxDataInputStream::ReadLine()
-{
- char i_strg[255];
-
- if (!m_parent_i_stream)
- return "";
-
- // TODO: Implement ReadLine
- return i_strg;
-}
-
wxString wxDataInputStream::ReadString()
{
wxString wx_string;
char *string;
unsigned long len;
- if (!m_parent_i_stream)
- return "";
-
len = Read32();
string = new char[len+1];
wx_string = string;
delete string;
- return wx_string;
+ return wx_string;
}
+// ---------------------------------------------------------------------------
+// wxDataOutputStream
+// ---------------------------------------------------------------------------
+
wxDataOutputStream::wxDataOutputStream(wxOutputStream& s)
: wxFilterOutputStream(s)
{
}
-void wxDataOutputStream::Write32(unsigned long i)
+wxDataOutputStream::~wxDataOutputStream()
{
- char buf[4];
+}
- if (!m_parent_o_stream)
- return;
+void wxDataOutputStream::Write32(wxUint32 i)
+{
+ char buf[4];
buf[0] = i & 0xff;
buf[1] = (i >> 8) & 0xff;
Write(buf, 4);
}
-void wxDataOutputStream::Write16(unsigned short i)
+void wxDataOutputStream::Write16(wxUint16 i)
{
char buf[2];
- if (!m_parent_o_stream)
- return;
-
buf[0] = i & 0xff;
buf[1] = (i >> 8) & 0xff;
Write(buf, 2);
}
-void wxDataOutputStream::Write8(unsigned char i)
+void wxDataOutputStream::Write8(wxUint8 i)
{
- if (!m_parent_o_stream)
- return;
-
Write(&i, 1);
}
-void wxDataOutputStream::WriteLine(const wxString& line)
-{
-#ifdef __WXMSW__
- wxString tmp_string = line + "\r\n";
-#else
- wxString tmp_string = line + '\n';
-#endif
-
- if (!m_parent_o_stream)
- return;
-
- Write((const char *) tmp_string, tmp_string.Length());
-}
-
void wxDataOutputStream::WriteString(const wxString& string)
{
- if (!m_parent_o_stream)
- return;
-
Write32(string.Length());
- Write((const char *) string, string.Length());
+ Write((const wxChar *) string, string.Length()*sizeof(wxChar));
}
// Must be at global scope for VC++ 5
{
char buf[10];
- if (!m_parent_o_stream)
- return;
-
-#if USE_APPLE_IEEE
+#if wxUSE_APPLE_IEEE
ConvertToIeeeExtended(d, (unsigned char *)buf);
#else
-# pragma warning "wxDataStream::WriteDouble() not using IeeeExtended - will not work!"
+# pragma warning "wxDataOutputStream::WriteDouble() not using IeeeExtended - will not work!"
buf[0] = '\0';
#endif
Write(buf, 10);
}
+
+#endif
+ // wxUSE_STREAMS
+