Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
|
\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 (QNetworkInformation::Reachability newReachability) |
void | isBehindCaptivePortalChanged (bool state) |
void | transportMediumChanged (QNetworkInformation::TransportMedium current) |
void | isMeteredChanged (bool isMetered) |
Signals inherited from QObject | |
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 |
Public Member Functions inherited from QObject | |
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. | |
bool | moveToThread (QThread *thread QT6_DECL_NEW_OVERLOAD_TAIL) |
Changes the thread affinity for this object and its children and returns true on success. | |
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::nanoseconds time, Qt::TimerType timerType=Qt::CoarseTimer) |
void | killTimer (int id) |
Kills the timer with timer identifier, id. | |
void | killTimer (Qt::TimerId id) |
template<typename T > | |
T | findChild (QAnyStringView aName, 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 (QAnyStringView 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 > | |
T | findChild (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. | |
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 Public Member Functions inherited from QObject | |
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. | |
Properties inherited from QObject | |
QString | objectName |
the name of this object | |
Private Member Functions | |
~QNetworkInformation () override | |
Friends | |
struct | QNetworkInformationDeleter |
Additional Inherited Members | |
Public Slots inherited from QObject | |
void | deleteLater () |
\threadsafe | |
Protected Member Functions inherited from QObject | |
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) | |
Protected Attributes inherited from QObject | |
QScopedPointer< QObjectData > | d_ptr |
Related Symbols inherited from QObject | |
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 46 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 28 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 37 of file qnetworkinformation.h.
|
overrideprivatedefault |
dtor
|
static |
Returns a list of the names of all currently available backends.
Definition at line 754 of file qnetworkinformation.cpp.
QString QNetworkInformation::backendName | ( | ) | const |
Returns the name of the currently loaded backend.
Definition at line 603 of file qnetworkinformation.cpp.
|
static |
Returns a pointer to the instance of the QNetworkInformation, if any.
Definition at line 765 of file qnetworkinformation.cpp.
bool QNetworkInformation::isBehindCaptivePortal | ( | ) | const |
Definition at line 562 of file qnetworkinformation.cpp.
|
signal |
bool QNetworkInformation::isMetered | ( | ) | const |
Definition at line 595 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 733 of file qnetworkinformation.cpp.
|
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 703 of file qnetworkinformation.cpp.
|
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 logic earlier is good enough. If you require a specific plugin then you should call loadBackendByName() or loadBackendByFeatures() directly instead.
Determines a suitable backend to load and returns true
if this backend is already loaded or on successful loading of it. Returns false
if any other backend has already been loaded, or if loading of the selected backend fails.
Definition at line 669 of file qnetworkinformation.cpp.
QNetworkInformation::Reachability QNetworkInformation::reachability | ( | ) | const |
Definition at line 546 of file qnetworkinformation.cpp.
|
signal |
QNetworkInformation::Features QNetworkInformation::supportedFeatures | ( | ) | const |
Returns all the supported features of the current backend.
Definition at line 622 of file qnetworkinformation.cpp.
bool QNetworkInformation::supports | ( | Features | features | ) | const |
Returns true
if the currently loaded backend supports features.
Definition at line 612 of file qnetworkinformation.cpp.
QNetworkInformation::TransportMedium QNetworkInformation::transportMedium | ( | ) | const |
Definition at line 579 of file qnetworkinformation.cpp.
|
signal |
|
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 22 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 25 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 21 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 24 of file qnetworkinformation.h.