| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495 |
- // qudpsocket.sip generated by MetaSIP
- //
- // This file is part of the QtNetwork Python extension module.
- //
- // Copyright (c) 2026 Riverbank Computing Limited <info@riverbankcomputing.com>
- //
- // This file is part of PyQt6.
- //
- // This file may be used under the terms of the GNU General Public License
- // version 3.0 as published by the Free Software Foundation and appearing in
- // the file LICENSE included in the packaging of this file. Please review the
- // following information to ensure the GNU General Public License version 3.0
- // requirements will be met: http://www.gnu.org/copyleft/gpl.html.
- //
- // If you do not wish to use this file under the terms of the GPL version 3.0
- // then you may purchase a commercial license. For more information contact
- // info@riverbankcomputing.com.
- //
- // This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
- // WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
- class QUdpSocket : public QAbstractSocket
- {
- %TypeHeaderCode
- #include <qudpsocket.h>
- %End
- public:
- explicit QUdpSocket(QObject *parent /TransferThis/ = 0);
- virtual ~QUdpSocket();
- bool hasPendingDatagrams() const;
- qint64 pendingDatagramSize() const;
- SIP_PYOBJECT readDatagram(qint64 maxlen, QHostAddress *host /Out/ = 0, quint16 *port = 0) /TypeHint="bytes",ReleaseGIL/;
- %MethodCode
- // Return the data read or None if there was an error.
- if (a0 < 0)
- {
- PyErr_SetString(PyExc_ValueError, "maximum length of data to be read cannot be negative");
- sipIsErr = 1;
- }
- else
- {
- char *s = new char[a0];
- qint64 len;
-
- Py_BEGIN_ALLOW_THREADS
- len = sipCpp->readDatagram(s, a0, a1, &a2);
- Py_END_ALLOW_THREADS
-
- if (len < 0)
- {
- Py_INCREF(Py_None);
- sipRes = Py_None;
- }
- else
- {
- sipRes = PyBytes_FromStringAndSize(s, len);
-
- if (!sipRes)
- sipIsErr = 1;
- }
-
- delete[] s;
- }
- %End
- QNetworkDatagram receiveDatagram(qint64 maxSize = -1) /ReleaseGIL/;
- qint64 writeDatagram(SIP_PYBUFFER, const QHostAddress &, quint16) /ReleaseGIL/;
- %MethodCode
- sipBufferInfoDef bi;
-
- if (sipGetBufferInfo(a0, &bi) > 0)
- {
- Py_BEGIN_ALLOW_THREADS
- sipRes = sipCpp->writeDatagram(reinterpret_cast<char *>(bi.bi_buf),
- bi.bi_len, *a1, a2);
- Py_END_ALLOW_THREADS
-
- sipReleaseBufferInfo(&bi);
- }
- else
- {
- sipIsErr = 1;
- }
- %End
- qint64 writeDatagram(const QNetworkDatagram &datagram) /ReleaseGIL/;
- bool joinMulticastGroup(const QHostAddress &groupAddress);
- bool joinMulticastGroup(const QHostAddress &groupAddress, const QNetworkInterface &iface);
- bool leaveMulticastGroup(const QHostAddress &groupAddress);
- bool leaveMulticastGroup(const QHostAddress &groupAddress, const QNetworkInterface &iface);
- QNetworkInterface multicastInterface() const;
- void setMulticastInterface(const QNetworkInterface &iface);
- };
|