summaryrefslogtreecommitdiffstats
path: root/sip/qt/qiodevice.sip
diff options
context:
space:
mode:
Diffstat (limited to 'sip/qt/qiodevice.sip')
-rw-r--r--sip/qt/qiodevice.sip408
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 &);
+};