Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Toggle main menu visibility
Loading...
Searching...
No Matches
qnetworklistmanagerevents.h
Go to the documentation of this file.
1
// Copyright (C) 2021 The Qt Company Ltd.
2
// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3
// Qt-Security score:significant reason:default
4
5
#
ifndef
QNETWORKLISTMANAGEREVENTS_H
6
#
define
QNETWORKLISTMANAGEREVENTS_H
7
8
#
include
<
QtNetwork
/
private
/
qtnetworkglobal_p
.
h
>
9
10
#
include
<
QtNetwork
/
qnetworkinformation
.
h
>
11
12
#
include
<
QtCore
/
qstring
.
h
>
13
#
include
<
QtCore
/
qobject
.
h
>
14
#
include
<
QtCore
/
qloggingcategory
.
h
>
15
#
include
<
QtCore
/
qmutex
.
h
>
16
17
#
include
<
objbase
.
h
>
18
#
include
<
ocidl
.
h
>
19
#
include
<
netlistmgr
.
h
>
20
#
include
<
QtCore
/
private
/
qcomptr_p
.
h
>
21
#
include
<
wrl
/
wrappers
/
corewrappers
.
h
>
22
23
#
if
QT_CONFIG
(
cpp_winrt
)
24
#
include
<
QtCore
/
private
/
qt_winrtbase_p
.
h
>
25
#
endif
26
27
using
namespace
Microsoft::WRL;
28
29
QT_BEGIN_NAMESPACE
30
Q_DECLARE_LOGGING_CATEGORY
(
lcNetInfoNLM
)
31
32
class
QNetworkListManagerEvents
:
public
QObject
,
public
INetworkListManagerEvents
33
{
34
Q_OBJECT
35
public
:
36
QNetworkListManagerEvents
();
37
virtual
~
QNetworkListManagerEvents
();
38
39
HRESULT STDMETHODCALLTYPE
QueryInterface
(
REFIID
riid
,
void
**
ppvObject
)
override
;
40
41
ULONG
STDMETHODCALLTYPE
AddRef
()
override
{
return
++
ref
; }
42
ULONG
STDMETHODCALLTYPE
Release
()
override
43
{
44
if
(--
ref
== 0) {
45
delete
this
;
46
return
0;
47
}
48
return
ref
;
49
}
50
51
HRESULT
STDMETHODCALLTYPE
ConnectivityChanged
(
NLM_CONNECTIVITY
newConnectivity
)
override
;
52
53
[[nodiscard]]
bool
start
();
54
void
stop
();
55
56
[[nodiscard]]
bool
checkBehindCaptivePortal
();
57
58
signals
:
59
void
connectivityChanged
(
NLM_CONNECTIVITY
);
60
void
transportMediumChanged
(
QNetworkInformation
::
TransportMedium
);
61
void
isMeteredChanged
(
bool
);
62
63
private
:
64
ComPtr<INetworkListManager> networkListManager =
nullptr
;
65
ComPtr<IConnectionPoint> connectionPoint =
nullptr
;
66
67
#
if
QT_CONFIG
(
cpp_winrt
)
68
void
emitWinRTUpdates
();
69
70
winrt
::
event_token
token
;
71
QMutex
winrtLock
;
72
#
endif
73
74
QAtomicInteger<ULONG> ref = 0;
75
DWORD cookie = 0;
76
};
77
78
QT_END_NAMESPACE
79
80
#
endif
// QNETWORKLISTMANAGEREVENTS_H
QNetworkListManagerEvents
Definition
qnetworklistmanagerevents.h:33
QNetworkListManagerEvents::stop
void stop()
Definition
qnetworklistmanagerevents.cpp:129
QNetworkListManagerEvents::start
bool start()
Definition
qnetworklistmanagerevents.cpp:80
QNetworkListManagerEvents::checkBehindCaptivePortal
bool checkBehindCaptivePortal()
Definition
qnetworklistmanagerevents.cpp:153
QNetworkListManagerEvents::transportMediumChanged
void transportMediumChanged(QNetworkInformation::TransportMedium)
QNetworkListManagerEvents::isMeteredChanged
void isMeteredChanged(bool)
QNetworkListManagerEvents::~QNetworkListManagerEvents
virtual ~QNetworkListManagerEvents()
Definition
qnetworklistmanagerevents.cpp:55
QT_BEGIN_NAMESPACE::QueryInterfaceImpl
bool QueryInterfaceImpl(IUnknown *from, REFIID riid, void **ppvObject)
Definition
qnetworklistmanagerevents.cpp:22
Q_DECLARE_LOGGING_CATEGORY
QT_BEGIN_NAMESPACE Q_DECLARE_LOGGING_CATEGORY(lcQIORing)
qtbase
src
plugins
networkinformation
networklistmanager
qnetworklistmanagerevents.h
Generated on
for Qt by
1.18.0