summaryrefslogtreecommitdiffstats
path: root/sip/qtnetwork/qsocket.sip
diff options
context:
space:
mode:
Diffstat (limited to 'sip/qtnetwork/qsocket.sip')
-rw-r--r--sip/qtnetwork/qsocket.sip348
1 files changed, 348 insertions, 0 deletions
diff --git a/sip/qtnetwork/qsocket.sip b/sip/qtnetwork/qsocket.sip
new file mode 100644
index 0000000..9da9bfc
--- /dev/null
+++ b/sip/qtnetwork/qsocket.sip
@@ -0,0 +1,348 @@
+// This is the SIP interface definition for QSocket.
+//
+// Copyright (c) 2007
+// Riverbank Computing Limited <[email protected]>
+//
+// 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>QSocket (Qt v2.2+)</Title>
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readBlock</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>len</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>Py_None</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>readLine</Function></FuncDef>
+ <ParamDef>char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>maxlen</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+This takes a single <Literal>maxlen</Literal> parameter. The
+<Literal>data</Literal> is returned if there was no error, otherwise
+<Literal>Py_None</Literal> is returned.
+</Para>
+
+<FuncSynopsis>
+ <FuncDef>Q_LONG <Function>writeBlock</Function></FuncDef>
+ <ParamDef>const char *<Parameter>data</Parameter></ParamDef>
+ <ParamDef>Q_ULONG <Parameter>len</Parameter></ParamDef>
+</FuncSynopsis>
+<Para>
+<Literal>len</Literal> is derived from <Literal>data</Literal> and not passed
+as a parameter.
+</Para>
+</Sect2>
+%End
+
+
+%If (Qt_2_2_0 -)
+
+class QSocket : QObject, QIODevice
+{
+%TypeHeaderCode
+#include <qsocket.h>
+%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 {
+ const 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