![]() |
Qt 6.x
The Qt SDK
|
\inmodule QtNetwork More...
#include <qnetworkinformation.h>
Public Types | |
enum class | Reachability { Unknown , Disconnected , Local , Site , Online } |
\value Unknown If this value is returned then we may be connected but the OS has still not confirmed full connectivity, or this feature is not supported. More... | |
enum class | TransportMedium { Unknown , Ethernet , Cellular , WiFi , Bluetooth } |
enum class | Feature { Reachability = 0x1 , CaptivePortal = 0x2 , TransportMedium = 0x4 , Metered = 0x8 } |
Lists all of the features that a plugin may currently support. More... | |
Signals | |
void | reachabilityChanged (Reachability newReachability) |
void | isBehindCaptivePortalChanged (bool state) |
void | transportMediumChanged (TransportMedium current) |
void | isMeteredChanged (bool isMetered) |
![]() | |
void | destroyed (QObject *=nullptr) |
This signal is emitted immediately before the object obj is destroyed, after any instances of QPointer have been notified, and cannot be blocked. | |
void | objectNameChanged (const QString &objectName, QPrivateSignal) |
This signal is emitted after the object's name has been changed. | |
Public Member Functions | |
Reachability | reachability () const |
bool | isBehindCaptivePortal () const |
TransportMedium | transportMedium () const |
bool | isMetered () const |
QString | backendName () const |
Returns the name of the currently loaded backend. | |
bool | supports (Features features) const |
Returns true if the currently loaded backend supports features. | |
Features | supportedFeatures () const |
![]() | |
Q_INVOKABLE | QObject (QObject *parent=nullptr) |
Constructs an object with parent object parent. | |
virtual | ~QObject () |
Destroys the object, deleting all its child objects. | |
virtual bool | event (QEvent *event) |
This virtual function receives events to an object and should return true if the event e was recognized and processed. | |
virtual bool | eventFilter (QObject *watched, QEvent *event) |
Filters events if this object has been installed as an event filter for the watched object. | |
QString | objectName () const |
Q_WEAK_OVERLOAD void | setObjectName (const QString &name) |
Sets the object's name to name. | |
void | setObjectName (QAnyStringView name) |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
QBindable< QString > | bindableObjectName () |
bool | isWidgetType () const |
Returns true if the object is a widget; otherwise returns false . | |
bool | isWindowType () const |
Returns true if the object is a window; otherwise returns false . | |
bool | isQuickItemType () const |
Returns true if the object is a QQuickItem; otherwise returns false . | |
bool | signalsBlocked () const noexcept |
Returns true if signals are blocked; otherwise returns false . | |
bool | blockSignals (bool b) noexcept |
If block is true, signals emitted by this object are blocked (i.e., emitting a signal will not invoke anything connected to it). | |
QThread * | thread () const |
Returns the thread in which the object lives. | |
void | moveToThread (QThread *thread) |
Changes the thread affinity for this object and its children. | |
int | startTimer (int interval, Qt::TimerType timerType=Qt::CoarseTimer) |
This is an overloaded function that will start a timer of type timerType and a timeout of interval milliseconds. | |
int | startTimer (std::chrono::milliseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
template<typename T > | |
T | findChild (const QString &aName=QString(), Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns the child of this object that can be cast into type T and that is called name, or \nullptr if there is no such object. | |
template<typename T > | |
QList< T > | findChildren (const QString &aName, Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
Returns all children of this object with the given name that can be cast to type T, or an empty list if there are no such objects. | |
template<typename T > | |
QList< T > | findChildren (Qt::FindChildOptions options=Qt::FindChildrenRecursively) const |
This is an overloaded member function, provided for convenience. It differs from the above function only in what argument(s) it accepts. | |
const QObjectList & | children () const |
Returns a list of child objects. | |
void | setParent (QObject *parent) |
Makes the object a child of parent. | |
void | installEventFilter (QObject *filterObj) |
Installs an event filter filterObj on this object. | |
void | removeEventFilter (QObject *obj) |
Removes an event filter object obj from this object. | |
QMetaObject::Connection | connect (const QObject *sender, const char *signal, const char *member, Qt::ConnectionType type=Qt::AutoConnection) const |
bool | disconnect (const char *signal=nullptr, const QObject *receiver=nullptr, const char *member=nullptr) const |
bool | disconnect (const QObject *receiver, const char *member=nullptr) const |
void | dumpObjectTree () const |
Dumps a tree of children to the debug output. | |
void | dumpObjectInfo () const |
Dumps information about signal connections, etc. | |
bool | setProperty (const char *name, const QVariant &value) |
Sets the value of the object's name property to value. | |
bool | setProperty (const char *name, QVariant &&value) |
QVariant | property (const char *name) const |
Returns the value of the object's name property. | |
QList< QByteArray > | dynamicPropertyNames () const |
QBindingStorage * | bindingStorage () |
const QBindingStorage * | bindingStorage () const |
QObject * | parent () const |
Returns a pointer to the parent object. | |
bool | inherits (const char *classname) const |
Returns true if this object is an instance of a class that inherits className or a QObject subclass that inherits className; otherwise returns false . | |
Static Public Member Functions | |
static bool | loadDefaultBackend () |
static bool | loadBackendByName (QStringView backend) |
static bool | loadBackendByFeatures (Features features) |
static QStringList | availableBackends () |
Returns a list of the names of all currently available backends. | |
static QNetworkInformation * | instance () |
Returns a pointer to the instance of the QNetworkInformation, if any. | |
![]() | |
static QMetaObject::Connection | connect (const QObject *sender, const char *signal, const QObject *receiver, const char *member, Qt::ConnectionType=Qt::AutoConnection) |
\threadsafe | |
static QMetaObject::Connection | connect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &method, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::ContextTypeForFunctor< Func2 >::ContextType *context, Func2 &&slot, Qt::ConnectionType type=Qt::AutoConnection) |
template<typename Func1 , typename Func2 > | |
static QMetaObject::Connection | connect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, Func2 &&slot) |
static bool | disconnect (const QObject *sender, const char *signal, const QObject *receiver, const char *member) |
\threadsafe | |
static bool | disconnect (const QObject *sender, const QMetaMethod &signal, const QObject *receiver, const QMetaMethod &member) |
static bool | disconnect (const QMetaObject::Connection &) |
Disconnect a connection. | |
template<typename Func1 , typename Func2 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const typename QtPrivate::FunctionPointer< Func2 >::Object *receiver, Func2 slot) |
template<typename Func1 > | |
static bool | disconnect (const typename QtPrivate::FunctionPointer< Func1 >::Object *sender, Func1 signal, const QObject *receiver, void **zero) |
Properties | |
Reachability | reachability |
The current state of the system's network connectivity. | |
bool | isBehindCaptivePortal |
Lets you know if the user's device is behind a captive portal. | |
TransportMedium | transportMedium |
The currently active transport medium for the application. | |
bool | isMetered |
Check if the current connection is metered. | |
![]() | |
QString | objectName |
the name of this object | |
Private Member Functions | |
~QNetworkInformation () override | |
Friends | |
struct | QNetworkInformationDeleter |
class | QNetworkInformationPrivate |
Additional Inherited Members | |
![]() | |
void | deleteLater () |
\threadsafe | |
![]() | |
QObject * | sender () const |
Returns a pointer to the object that sent the signal, if called in a slot activated by a signal; otherwise it returns \nullptr. | |
int | senderSignalIndex () const |
int | receivers (const char *signal) const |
Returns the number of receivers connected to the signal. | |
bool | isSignalConnected (const QMetaMethod &signal) const |
virtual void | timerEvent (QTimerEvent *event) |
This event handler can be reimplemented in a subclass to receive timer events for the object. | |
virtual void | childEvent (QChildEvent *event) |
This event handler can be reimplemented in a subclass to receive child events. | |
virtual void | customEvent (QEvent *event) |
This event handler can be reimplemented in a subclass to receive custom events. | |
virtual void | connectNotify (const QMetaMethod &signal) |
virtual void | disconnectNotify (const QMetaMethod &signal) |
QObject (QObjectPrivate &dd, QObject *parent=nullptr) | |
![]() | |
QScopedPointer< QObjectData > | d_ptr |
![]() | |
template< class T > T | qobject_cast (const QObject *object) |
Returns the given object cast to type T if the object is of type T (or of a subclass); otherwise returns \nullptr. | |
template< typename T > T | qFindChildqFindChildren (const QObject *obj, const QString &name)() |
template< typename T > QList< T > | qFindChildrenqFindChildren (const QObject *obj, const QString &name)() |
QObjectList | |
\macro Q_CLASSINFO(Name, Value) | |
\inmodule QtNetwork
QNetworkInformation exposes various network information through native backends.
QNetworkInformation provides a cross-platform interface to network-related information through plugins.
Various plugins can have various functionality supported, and so you can load() plugins based on which features are needed.
QNetworkInformation is a singleton and stays alive from the first successful load() until destruction of the QCoreApplication object. If you destroy and re-create the QCoreApplication object you must call load() again.
Definition at line 17 of file qnetworkinformation.h.
|
strong |
Lists all of the features that a plugin may currently support.
This can be used in QNetworkInformation::load().
\value Reachability If the plugin supports this feature then the reachability
property will provide useful results. Otherwise it will always return {Reachability::Unknown}. See also QNetworkInformation::Reachability.
\value CaptivePortal If the plugin supports this feature then the isBehindCaptivePortal
property will provide useful results. Otherwise it will always return {false}.
\value TransportMedium If the plugin supports this feature then the transportMedium
property will provide useful results. Otherwise it will always return {TransportMedium::Unknown}. See also QNetworkInformation::TransportMedium.
\value Metered If the plugin supports this feature then the isMetered
property will provide useful results. Otherwise it will always return {false}.
Enumerator | |
---|---|
Reachability | |
CaptivePortal | |
TransportMedium | |
Metered |
Definition at line 45 of file qnetworkinformation.h.
|
strong |
\value Unknown If this value is returned then we may be connected but the OS has still not confirmed full connectivity, or this feature is not supported.
\value Disconnected Indicates that the system may have no connectivity at all. \value Local Indicates that the system is connected to a network, but it might only be able to access devices on the local network. \value Site Indicates that the system is connected to a network, but it might only be able to access devices on the local subnet or an intranet. \value Online Indicates that the system is connected to a network and able to access the Internet.
Enumerator | |
---|---|
Unknown | |
Disconnected | |
Local | |
Site | |
Online |
Definition at line 27 of file qnetworkinformation.h.
|
strong |
Lists the currently recognized media with which one can connect to the internet.
\value Unknown Returned if either the OS reports no active medium, the active medium is not recognized by Qt, or the TransportMedium feature is not supported. \value Ethernet Indicates that the currently active connection is using ethernet. Note: This value may also be returned when Windows is connected to a Bluetooth personal area network. \value Cellular Indicates that the currently active connection is using a cellular network. \value WiFi Indicates that the currently active connection is using Wi-Fi. \value Bluetooth Indicates that the currently active connection is connected using Bluetooth.
Enumerator | |
---|---|
Unknown | |
Ethernet | |
Cellular | |
WiFi | |
Bluetooth |
Definition at line 36 of file qnetworkinformation.h.
|
overrideprivatedefault |
dtor
|
static |
Returns a list of the names of all currently available backends.
Definition at line 707 of file qnetworkinformation.cpp.
References QNetworkInformationPrivate::backendNames().
QString QNetworkInformation::backendName | ( | ) | const |
Returns the name of the currently loaded backend.
Definition at line 573 of file qnetworkinformation.cpp.
|
static |
Returns a pointer to the instance of the QNetworkInformation, if any.
Definition at line 718 of file qnetworkinformation.cpp.
References QNetworkInformationPrivate::instance().
bool QNetworkInformation::isBehindCaptivePortal | ( | ) | const |
Definition at line 532 of file qnetworkinformation.cpp.
|
signal |
bool QNetworkInformation::isMetered | ( | ) | const |
Definition at line 565 of file qnetworkinformation.cpp.
|
signal |
|
static |
Returns true
if it managed to load the requested backend or if it was already loaded. Returns false
otherwise.
Definition at line 686 of file qnetworkinformation.cpp.
References QNetworkInformationPrivate::create().
|
static |
Attempts to load a backend whose name matches backend (case insensitively).
Returns true
if it managed to load the requested backend or if it was already loaded. Returns false
otherwise.
Definition at line 659 of file qnetworkinformation.cpp.
References Qt::CaseInsensitive, and QNetworkInformationPrivate::create().
Referenced by loadDefaultBackend().
|
static |
Attempts to load the platform-default backend.
This platform-to-plugin mapping is as follows:
\table \header
This function is provided for convenience where the default for a given platform is good enough. If you are not using the default plugins you must use one of the other load() overloads.
Returns true
if it managed to load the backend or if it was already loaded. Returns false
otherwise.
Definition at line 631 of file qnetworkinformation.cpp.
References loadBackendByName(), QNetworkInformationBackend::PluginNames, QNetworkInformationBackend::PluginNamesAndroidIndex, QNetworkInformationBackend::PluginNamesAppleIndex, QNetworkInformationBackend::PluginNamesLinuxIndex, and QNetworkInformationBackend::PluginNamesWindowsIndex.
QNetworkInformation::Reachability QNetworkInformation::reachability | ( | ) | const |
Definition at line 516 of file qnetworkinformation.cpp.
|
signal |
QNetworkInformation::Features QNetworkInformation::supportedFeatures | ( | ) | const |
Returns all the supported features of the current backend.
Definition at line 592 of file qnetworkinformation.cpp.
bool QNetworkInformation::supports | ( | Features | features | ) | const |
Returns true
if the currently loaded backend supports features.
Definition at line 582 of file qnetworkinformation.cpp.
QNetworkInformation::TransportMedium QNetworkInformation::transportMedium | ( | ) | const |
Definition at line 549 of file qnetworkinformation.cpp.
|
signal |
|
friend |
Definition at line 84 of file qnetworkinformation.h.
|
friend |
Definition at line 85 of file qnetworkinformation.h.
|
read |
Lets you know if the user's device is behind a captive portal.
This property indicates if the user's device is currently known to be behind a captive portal. This functionality relies on the operating system's detection of captive portals and is not supported on systems that don't report this. On systems where this is not supported this will always return {false}.
Definition at line 94 of file qnetworkinformation.h.
|
read |
Check if the current connection is metered.
This property returns whether the current connection is (known to be) metered or not. You can use this as a guiding factor to decide whether your application should perform certain network requests or uploads. For instance, you may not want to upload logs or diagnostics while this property is true
.
Definition at line 94 of file qnetworkinformation.h.
|
read |
The current state of the system's network connectivity.
Indicates the level of connectivity that can be expected. Do note that this is only based on what the plugin/operating system reports. In certain scenarios this is known to be wrong. For example, on Windows the 'Online' check, by default, is performed by Windows connecting to a Microsoft-owned server. If this server is for any reason blocked then it will assume it does not have Online reachability. Because of this you should not use this as a pre-check before attempting to make a connection.
Definition at line 94 of file qnetworkinformation.h.
|
read |
The currently active transport medium for the application.
This property returns the currently active transport medium for the application, on operating systems where such information is available.
When the current transport medium changes a signal is emitted, this can, for instance, occur when a user leaves the range of a WiFi network, unplugs their ethernet cable or enables Airplane mode.
Definition at line 94 of file qnetworkinformation.h.