diff options
author | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-29 00:31:00 -0600 |
---|---|---|
committer | Timothy Pearson <kb9vqf@pearsoncomputing.net> | 2011-11-29 00:31:00 -0600 |
commit | b388516ca2691303a076a0764fd40bf7116fe43d (patch) | |
tree | 6f1615d1f12b325f4d1cd9c25d1519303794001a /sip/qt/qiodevice.sip | |
download | pytqt-b388516ca2691303a076a0764fd40bf7116fe43d.tar.gz pytqt-b388516ca2691303a076a0764fd40bf7116fe43d.zip |
Initial import of python-qt3
Diffstat (limited to 'sip/qt/qiodevice.sip')
-rw-r--r-- | sip/qt/qiodevice.sip | 408 |
1 files changed, 408 insertions, 0 deletions
diff --git a/sip/qt/qiodevice.sip b/sip/qt/qiodevice.sip new file mode 100644 index 0000000..32079d2 --- /dev/null +++ b/sip/qt/qiodevice.sip @@ -0,0 +1,408 @@ +// This is the SIP interface definition for QIODevice. +// +// Copyright (c) 2007 +// Riverbank Computing Limited <info@riverbankcomputing.co.uk> +// +// This file is part of PyQt. +// +// This copy of PyQt is free software; you can redistribute it and/or modify it +// under the terms of the GNU General Public License as published by the Free +// Software Foundation; either version 2, or (at your option) any later +// version. +// +// PyQt is supplied in the hope that it will be useful, but WITHOUT ANY +// WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS +// FOR A PARTICULAR PURPOSE. See the GNU General Public License for more +// details. +// +// You should have received a copy of the GNU General Public License along with +// PyQt; see the file LICENSE. If not, write to the Free Software Foundation, +// Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + + +%ExportedDoc +<Sect2><Title>QIODevice</Title> +<Para> +<Literal>QIODevice</Literal> is fully implemented. +</Para> +</Sect2> +%End + + +%ModuleHeaderCode +#include <qiodevice.h> +%End + + +// Device access types. + +const int IO_Direct; +const int IO_Sequential; +const int IO_Combined; +const int IO_TypeMask; + +// Handling modes. + +const int IO_Raw; +const int IO_Async; + +// Device open modes. + +const int IO_ReadOnly; +const int IO_WriteOnly; +const int IO_ReadWrite; +const int IO_Append; +const int IO_Truncate; +const int IO_Translate; +const int IO_ModeMask; + +// Device state. + +const int IO_Open; +const int IO_StateMask; + +// Device status. + +const int IO_Ok; +const int IO_ReadError; +const int IO_WriteError; +const int IO_FatalError; +const int IO_ResourceError; +const int IO_OpenError; +const int IO_ConnectError; +const int IO_AbortError; +const int IO_TimeOutError; +%If (Qt_2_00 -) +const int IO_UnspecifiedError; +%End + + +class QIODevice +{ +%TypeHeaderCode +#include <qiodevice.h> +%End + +public: +%If (Qt_3_0_0 -) + typedef Q_ULONG Offset; +%End + + QIODevice(); + + int flags() const; + int mode() const; + int state() const; + bool isDirectAccess() const; + bool isSequentialAccess() const; + bool isCombinedAccess() const; + bool isBuffered() const; + bool isRaw() const; + bool isSynchronous() const; + bool isAsynchronous() const; + bool isTranslated() const; + bool isReadable() const; + bool isWritable() const; + bool isReadWrite() const; + bool isInactive() const; + bool isOpen() const; + + int status() const; + void resetStatus(); + + virtual bool open(int) = 0 /ReleaseGIL/; + virtual void close() = 0; + virtual void flush() = 0 /ReleaseGIL/; + +%If (- Qt_3_0_0) + virtual uint size() const = 0; + virtual int at() const; + virtual bool at(int); +%End +%If (Qt_3_0_0 -) + virtual Offset size() const = 0; + virtual Offset at() const; + virtual bool at(Offset); +%End + virtual bool atEnd() const; + bool reset(); + +%If (- Qt_3_0_0) + virtual SIP_PYOBJECT readBlock(uint) = 0 /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"i",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End +%If (Qt_3_0_0 -) + virtual SIP_PYOBJECT readBlock(Q_ULONG) = 0 /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipCpp -> readBlock(buf,a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"l",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1L; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End + +%If (- Qt_3_0_0) + virtual int writeBlock(const char * /Array/, + uint /ArraySize/) = 0 /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + virtual Q_LONG writeBlock(const char * /Array/, + Q_ULONG /ArraySize/) = 0 /ReleaseGIL/; +%End + +%If (- Qt_3_0_0) + virtual SIP_PYOBJECT readLine(uint) /ReleaseGIL/ [int (char *,uint)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + int actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QIODevice::readLine(buf, a0) : sipCpp->readLine(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"i",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End +%If (Qt_3_0_0 -) + virtual SIP_PYOBJECT readLine(Q_ULONG) /ReleaseGIL/ [Q_LONG (char *,Q_ULONG)]; +%MethodCode + char *buf; + + if ((buf = (char *)sipMalloc(a0)) == NULL) + sipIsErr = 1; + else + { + Q_LONG actlen; + + Py_BEGIN_ALLOW_THREADS + actlen = sipSelfWasArg ? sipCpp->QIODevice::readLine(buf, a0) : sipCpp->readLine(buf, a0); + Py_END_ALLOW_THREADS + + if (actlen < 0) + { + sipFree((ANY *)buf); + + Py_INCREF(Py_None); + sipRes = Py_None; + } + else + { + sipRes = PyString_FromStringAndSize(buf,actlen); + + sipFree((ANY *)buf); + + if (sipRes == NULL) + sipIsErr = 1; + } + } +%End +%VirtualCatcherCode + PyObject *result = sipCallMethod(&sipIsErr,sipMethod,"l",a1); + + if (result != NULL) + { + PyObject *buf; + + sipParseResult(&sipIsErr,sipMethod,result,"O",&buf); + + if (buf == Py_None) + sipRes = -1L; + else if (!PyString_Check(buf)) + { + sipBadCatcherResult(sipMethod); + sipIsErr = 1; + } + else + { + memcpy(a0,PyString_AS_STRING(buf),PyString_GET_SIZE(buf)); + sipRes = PyString_GET_SIZE(buf); + } + + Py_DECREF(buf); + Py_DECREF(result); + } +%End +%End + +%If (Qt_2_00 - Qt_3_0_0) + int writeBlock(const QByteArray &) /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + Q_LONG writeBlock(const QByteArray &) /ReleaseGIL/; +%End + +%If (Qt_2_00 - Qt_3_0_0) + QByteArray readAll() /ReleaseGIL/; +%End +%If (Qt_3_0_0 -) + virtual QByteArray readAll() /ReleaseGIL/; +%End + + virtual int getch() = 0 /ReleaseGIL/; + virtual int putch(int) = 0 /ReleaseGIL/; + virtual int ungetch(int) = 0; + +protected: + void setFlags(int); + void setType(int); + void setMode(int); + void setState(int); + void setStatus(int); + +private: + QIODevice(const QIODevice &); +}; |