// This is the SIP interface definition for TQSocketDevice. // // Copyright (c) 2007 // Riverbank Computing Limited // // This file is part of PyTQt. // // This copy of PyTQt 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. // // PyTQt 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 // PyTQt; see the file LICENSE. If not, write to the Free Software Foundation, // Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. %ExportedDoc TQSocketDevice (TQt 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 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 (TQt_2_2_0 -) class TQSocketDevice : TQIODevice { %TypeHeaderCode #include %End public: enum Type { Stream, Datagram }; %If (TQt_3_3_0 -) enum Protocol { IPv4, IPv6, Unknown }; %End TQSocketDevice(Type = Stream); %If (TQt_3_3_0 -) TQSocketDevice(Type,Protocol,int); %End TQSocketDevice(int,Type); bool isValid() const; Type type() const; %If (TQt_3_3_0 -) Protocol protocol() const; %End int socket() const; virtual void setSocket(int,Type); bool open(int) /ReleaseGIL/; void close(); void flush() /ReleaseGIL/; %If (- TQt_3_0_0) uint size() const; int at() const; bool at(int); %End %If (TQt_3_0_0 -) Offset size() const; Offset at() const; bool at(Offset); %End bool atEnd() const; bool blocking() const; virtual void setBlocking(bool); bool addressReusable() const; virtual void setAddressReusable(bool); int receiveBufferSize() const; virtual void setReceiveBufferSize(uint); int sendBufferSize() const; virtual void setSendBufferSize(uint); virtual bool connect(const TQHostAddress &,Q_UINT16); virtual bool bind(const TQHostAddress &,Q_UINT16); virtual bool listen(int); virtual int accept(); %If (- TQt_3_0_0) int bytesAvailable() const; int waitForMore(int) const /ReleaseGIL/; %End %If (TQt_3_0_0 -) Q_LONG bytesAvailable() const; Q_LONG waitForMore(int) const /ReleaseGIL/; %End %If (- TQt_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->TQSocketDevice::readBlock(buf, a0) : sipCpp->readBlock(buf, a0); Py_END_ALLOW_THREADS if (actlen < 0) { Py_INCREF(Py_None); sipRes = Py_None; } else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) sipIsErr = 1; sipFree((ANY *)buf); } %End int writeBlock(const char * /Array/,uint /ArraySize/) /ReleaseGIL/; virtual int writeBlock(const char * /Array/,uint /ArraySize/, const TQHostAddress &,Q_UINT16) /ReleaseGIL/; %End %If (TQt_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->TQSocketDevice::readBlock(buf, a0) : sipCpp->readBlock(buf, a0); Py_END_ALLOW_THREADS if (actlen < 0) { Py_INCREF(Py_None); sipRes = Py_None; } else if ((sipRes = PyString_FromStringAndSize(buf,actlen)) == NULL) sipIsErr = 1; sipFree((ANY *)buf); } %End Q_LONG writeBlock(const char * /Array/, Q_ULONG /ArraySize/) /ReleaseGIL/; virtual Q_LONG writeBlock(const char * /Array/,Q_ULONG /ArraySize/, const TQHostAddress &,Q_UINT16) /ReleaseGIL/; %End int getch(); int putch(int); int ungetch(int); Q_UINT16 port() const; Q_UINT16 peerPort() const; TQHostAddress address() const; TQHostAddress peerAddress() const; enum Error { NoError, AlreadyBound, Inaccessible, NoResources, Bug, Impossible, NoFiles, ConnectionRefused, NetworkFailure, UnknownError }; Error error() const; protected: void setError(Error); private: TQSocketDevice(const TQSocketDevice &); }; %End