18#include <QtNetwork/private/qtnetworkglobal_p.h>
19#include "QtCore/qcoreapplication.h"
20#include "private/qcoreapplication_p.h"
21#include "private/qmetaobject_p.h"
22#include "QtNetwork/qhostinfo.h"
23#include "QtCore/qmutex.h"
24#include "QtCore/qwaitcondition.h"
25#include "QtCore/qobject.h"
26#include "QtCore/qpointer.h"
27#include "QtCore/qthread.h"
29#include "QtCore/qthreadpool.h"
31#include "QtCore/qrunnable.h"
32#include "QtCore/qlist.h"
33#include "QtCore/qqueue.h"
34#include <QElapsedTimer>
71 QPointer<const QObject> receiver =
nullptr;
127 struct QHostInfoCacheElement {
131 QCache<QString,QHostInfoCacheElement> cache;
173 QList<QHostInfoRunnable*> currentLookups;
174 QList<QHostInfoRunnable*> postponedLookups;
188 void rescheduleWithMutexHeld();
static QCoreApplication * instance() noexcept
Returns a pointer to the application's QCoreApplication (or QGuiApplication/QApplication) instance.
void aboutToQuit(QPrivateSignal)
This signal is emitted when the application is about to quit the main event loop, e....
The QHostAddress class provides an IP address.
static QHostInfo lookup(const QString &hostName)
static QHostInfo reverseLookup(const QHostAddress &address)
static QHostInfo fromName(const QString &hostName)
QHostInfo get(const QString &name, bool *valid)
void put(const QString &name, const QHostInfo &info)
~QHostInfoLookupManager()
QQueue< QHostInfoRunnable * > scheduledLookups
void lookupFinished(QHostInfoRunnable *r)
void scheduleLookup(QHostInfoRunnable *r)
QList< int > abortedLookups
QList< QHostInfoRunnable * > finishedLookups
static int lookupHostImpl(const QString &name, const QObject *receiver, QtPrivate::QSlotObjectBase *slotObj, const char *member)
QList< QHostAddress > addrs
QHostInfo::HostInfoError err
void resultsReady(const QHostInfo &info)
QHostInfoResult(const QObject *receiver, QtPrivate::SlotObjUniquePtr slot)
void postResultsReady(const QHostInfo &info)
~QHostInfoResult() override
void run() override
Implement this pure virtual function in your subclass.
QHostInfoRunnable(const QString &hn, int i, const QObject *receiver, QtPrivate::SlotObjUniquePtr slotObj)
QHostInfoResult resultEmitter
~QHostInfoRunnable() override
The QHostInfo class provides static functions for host name lookups.
HostInfoError
This enum describes the various errors that can occur when trying to resolve a host name.
static QMetaObject::Connection connect(const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection)
\threadsafe
bool moveToThread(QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL)
Changes the thread affinity for this object and its children and returns true on success.
void deleteLater()
\threadsafe
\macro QT_RESTRICTED_CAST_FROM_ASCII
Combined button and popup list for selecting options.
std::unique_ptr< QSlotObjectBase, QSlotObjectBase::Deleter > SlotObjUniquePtr
static QDBusError::ErrorType get(const char *name)
void Q_AUTOTEST_EXPORT qt_qhostinfo_clear_cache()
void Q_AUTOTEST_EXPORT qt_qhostinfo_enable_cache(bool e)
QHostInfo Q_NETWORK_EXPORT qt_qhostinfo_lookup(const QString &name, QObject *receiver, const char *member, bool *valid, int *id)
void Q_AUTOTEST_EXPORT qt_qhostinfo_cache_inject(const QString &hostname, const QHostInfo &resolution)
GLenum GLenum GLsizei const GLuint GLboolean enabled
GLuint GLuint64EXT address
#define Q_AUTOTEST_EXPORT
#define QT_TRANSLATE_NOOP(scope, x)