From 90825e2392b2d70e43c7a25b8a3752299a933894 Mon Sep 17 00:00:00 2001 From: toma Date: Wed, 25 Nov 2009 17:56:58 +0000 Subject: Copy the KDE 3.5 branch to branches/trinity for new KDE 3.5 features. BUG:215923 git-svn-id: svn://anonsvn.kde.org/home/kde/branches/trinity/kdebindings@1054174 283d02a7-25f6-0310-bc7c-ecb5cbfe19da --- python/pyqt/sip/qtnetwork/qsocket.sip | 348 ++++++++++++++++++++++++++++++++++ 1 file changed, 348 insertions(+) create mode 100644 python/pyqt/sip/qtnetwork/qsocket.sip (limited to 'python/pyqt/sip/qtnetwork/qsocket.sip') diff --git a/python/pyqt/sip/qtnetwork/qsocket.sip b/python/pyqt/sip/qtnetwork/qsocket.sip new file mode 100644 index 00000000..1ce9165a --- /dev/null +++ b/python/pyqt/sip/qtnetwork/qsocket.sip @@ -0,0 +1,348 @@ +// This is the SIP interface definition for QSocket. +// +// Copyright (c) 2007 +// Riverbank Computing Limited +// +// 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 +QSocket (Qt v2.2+) + + Q_LONG readBlock + char *data + Q_ULONG len + + +This takes a single len parameter. The +data is returned if there was no error, otherwise +Py_None is returned. + + + + Q_LONG readLine + char *data + Q_ULONG maxlen + + +This takes a single maxlen parameter. The +data is returned if there was no error, otherwise +Py_None is returned. + + + + Q_LONG writeBlock + const char *data + Q_ULONG len + + +len is derived from data and not passed +as a parameter. + + +%End + + +%If (Qt_2_2_0 -) + +class QSocket : QObject, QIODevice +{ +%TypeHeaderCode +#include +%End + +public: + enum Error { + ErrConnectionRefused, + ErrHostNotFound, + ErrSocketRead + }; + + QSocket(QObject * /TransferThis/ = 0,const char * = 0); + + enum State { + Idle, + HostLookup, + Connecting, +%If (Qt_3_0_0 -) + Connected, +%End +%If (- Qt_3_0_0) + Listening, +%End + Closing, + Connection + }; + +%ConvertToSubClassCode + static struct class_graph { + char *name; + sipWrapperType **type; + int yes, no; + } graph[] = { + {sipName_QServerSocket, &sipClass_QServerSocket, -1, 1}, + {sipName_QSocket, &sipClass_QSocket, -1, 2}, + {sipName_QFtp, &sipClass_QFtp, -1, 3}, + {sipName_QLocalFs, &sipClass_QLocalFs, -1, 4}, +#if QT_VERSION >= 0x030000 + {sipName_QHttp, &sipClass_QHttp, -1, 5}, +#else + {NULL, NULL, -1, 5}, +#endif + {sipName_QDns, &sipClass_QDns, -1, -1}, + }; + + int i = 0; + + sipClass = NULL; + + do + { + struct class_graph *cg = &graph[i]; + + if (cg->name != NULL && sipCpp->inherits(cg->name)) + { + sipClass = *cg->type; + i = cg->yes; + } + else + i = cg->no; + } + while (i >= 0); +%End + + State state() const; + + int socket() const; + virtual void setSocket(int); + +%If (Qt_3_0_0 -) + QSocketDevice *socketDevice(); + virtual void setSocketDevice(QSocketDevice *); +%End + +%If (Qt_DNS) + virtual void connectToHost(const QString &,Q_UINT16) /ReleaseGIL/; +%End + QString peerName() const; + + bool open(int) /ReleaseGIL/; + void close() /ReleaseGIL/; + void flush() /ReleaseGIL/; +%If (Qt_3_0_0 -) + Offset size() const; + Offset at() const; + bool at(Offset); +%End +%If (- Qt_3_0_0) + uint size() const; + int at() const; + bool at(int); +%End + bool atEnd() const; + +%If (Qt_3_0_0 -) + Q_ULONG bytesAvailable() const; + Q_ULONG waitForMore(int) const /ReleaseGIL/; + //Q_ULONG waitForMore(int,bool *) const /ReleaseGIL/; + Q_ULONG bytesToWrite() const; +%End +%If (- Qt_3_0_0) + int bytesAvailable() const; + int waitForMore(int) const /ReleaseGIL/; + int bytesToWrite() const; +%End +%If (Qt_3_1_0 -) + void clearPendingData(); +%End + +%If (- Qt_3_0_0) + SIP_PYOBJECT readBlock(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 -> QSocket::readBlock(buf,a0) : 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 + + int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/; + + 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 = 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 +%End +%If (Qt_3_0_0 -) + SIP_PYOBJECT readBlock(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 -> QSocket::readBlock(buf,a0) : 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 + + Q_LONG writeBlock(const char * /Array/, + Q_ULONG /ArraySize/) /ReleaseGIL/; + + 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 = 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 +%End + + int getch() /ReleaseGIL/; + int putch(int) /ReleaseGIL/; + int ungetch(int); + + bool canReadLine() const; + virtual QString readLine() /ReleaseGIL/; + + Q_UINT16 port() const; + Q_UINT16 peerPort() const; + QHostAddress address() const; + QHostAddress peerAddress() const; + +%If (Qt_3_2_0 -) + void setReadBufferSize(Q_ULONG); + Q_ULONG readBufferSize() const; +%End + +signals: + void hostFound(); + void connected(); + void connectionClosed(); + void delayedCloseFinished(); + void readyRead(); + void bytesWritten(int); + void error(int); + +protected: +%If (- Qt_3_0_0) + QSocketDevice *socketDevice(); +%End + +private: + QSocket(const QSocket &); +}; + +%End -- cgit v1.2.1