+++ /dev/null
-/////////////////////////////////////////////////////////////////////////////
-// Name: _streams.i
-// Purpose: SWIG typemaps and wrappers for wxInputStream
-//
-// Author: Robin Dunn
-//
-// Created: 25-Sept-2000
-// RCS-ID: $Id$
-// Copyright: (c) 2003 by Total Control Software
-// Licence: wxWindows license
-/////////////////////////////////////////////////////////////////////////////
-
-// Not a %module
-
-
-//---------------------------------------------------------------------------
-
-%{
-#include "wx/wxPython/pyistream.h"
-%}
-
-//---------------------------------------------------------------------------
-%newgroup
-
-
-// Typemaps for wxInputStream
-//
-// We assume that input params taking a wxInputStream& will *not* take
-// ownership of the stream and so we manage it in the typemaps. On the other
-// hand, when a paramter expects a wxInputStream* then it does take ownership
-// (such as wxFSFile) and so the typemap will make a copy of the stream object
-// to give to it.
-
-%typemap(in) wxInputStream& (wxPyInputStream* temp, bool created) {
- if (wxPyConvertSwigPtr($input, (void **)&temp, wxT("wxPyInputStream"))) {
- $1 = temp->m_wxis;
- created = false;
- } else {
- PyErr_Clear(); // clear the failure of the wxPyConvert above
- $1 = wxPyCBInputStream_create($input, false);
- if ($1 == NULL) {
- PyErr_SetString(PyExc_TypeError, "Expected wx.InputStream or Python file-like object.");
- SWIG_fail;
- }
- created = true;
- }
-}
-%typemap(freearg) wxInputStream& { if (created$argnum) delete $1; }
-
-
-%typemap(in) wxInputStream* (wxPyInputStream* temp) {
- if (wxPyConvertSwigPtr($input, (void **)&temp, wxT("wxPyInputStream"))) {
- $1 = wxPyCBInputStream_copy((wxPyCBInputStream*)temp->m_wxis);
- } else {
- PyErr_Clear(); // clear the failure of the wxPyConvert above
- $1 = wxPyCBInputStream_create($input, true);
- if ($1 == NULL) {
- PyErr_SetString(PyExc_TypeError, "Expected wx.InputStream or Python file-like object.");
- SWIG_fail;
- }
- }
-}
-
-%typemap(out) wxInputStream* {
- wxPyInputStream * _ptr = NULL;
- if ($1)
- _ptr = new wxPyInputStream($1);
- $result = wxPyConstructObject(_ptr, wxT("wxPyInputStream"), $owner);
-}
-
-
-//---------------------------------------------------------------------------
-// Typemaps for wxOutputStream. We only need in by reference and out by
-// pointer in this one.
-
-
-%typemap(in) wxOutputStream& (wxPyOutputStream* temp, bool created) {
- if (wxPyConvertSwigPtr($input, (void **)&temp, wxT("wxPyOutputStream"))) {
- $1 = temp->m_wxos;
- created = false;
- } else {
- PyErr_Clear(); // clear the failure of the wxPyConvert above
- $1 = wxPyCBOutputStream_create($input, false);
- if ($1 == NULL) {
- PyErr_SetString(PyExc_TypeError, "Expected wx.OutputStream or Python file-like object.");
- SWIG_fail;
- }
- created = true;
- }
-}
-%typemap(freearg) wxOutputStream& { if (created$argnum) delete $1; }
-
-
-%typemap(out) wxOutputStream* {
- wxPyOutputStream * _ptr = NULL;
- if ($1)
- _ptr = new wxPyOutputStream($1);
- $result = wxPyConstructObject(_ptr, wxT("wxPyOutputStream"), $owner);
-}
-
-//---------------------------------------------------------------------------
-
-enum wxSeekMode
-{
- wxFromStart,
- wxFromCurrent,
- wxFromEnd
-};
-
-
-%rename(InputStream) wxPyInputStream;
-class wxPyInputStream
-{
-public:
- %extend {
- wxPyInputStream(PyObject* p) {
- wxInputStream* wxis = wxPyCBInputStream::create(p);
- if (wxis)
- return new wxPyInputStream(wxis);
- else
- return NULL;
- }
- }
- ~wxPyInputStream();
-
- void close();
- void flush();
- bool eof();
- PyObject* read(int size=-1);
- PyObject* readline(int size=-1);
- PyObject* readlines(int sizehint=-1);
- void seek(int offset, int whence=0);
- int tell();
-
- char Peek();
- char GetC();
- size_t LastRead();
- bool CanRead();
- bool Eof();
- bool Ungetch(char c);
-
- long SeekI(long pos, wxSeekMode mode = wxFromStart);
- long TellI();
-};
-
-
-
-
-%rename(OutputStream) wxPyOutputStream;
-class wxPyOutputStream
-{
-public:
- %extend {
- wxPyOutputStream(PyObject* p) {
- wxOutputStream* wxis = wxPyCBOutputStream::create(p);
- if (wxis)
- return new wxPyOutputStream(wxis);
- else
- return NULL;
- }
- }
- ~wxPyOutputStream();
-
- void close();
- void flush();
- bool eof();
- void seek(int offset, int whence=0);
- int tell();
-
- void write(PyObject* data);
- //void writelines(wxStringArray& arr);
-
- void PutC(char c);
- size_t LastWrite();
- unsigned long SeekO(unsigned long pos, wxSeekMode mode = wxFromStart);
- unsigned long TellO();
-};
-
-
-//---------------------------------------------------------------------------
-%init %{
- wxPyPtrTypeMap_Add("wxInputStream", "wxPyInputStream");
- wxPyPtrTypeMap_Add("wxOutputStream", "wxPyOutputStream");
-%}
-//---------------------------------------------------------------------------