NetworkManagerQt

device.h
1/*
2 SPDX-FileCopyrightText: 2008, 2011 Will Stephenson <wstephenson@kde.org>
3 SPDX-FileCopyrightText: 2011-2013 Lamarque V. Souza <lamarque@kde.org>
4 SPDX-FileCopyrightText: 2013 Daniel Nicoletti <dantti12@gmail.com>
5 SPDX-FileCopyrightText: 2013 Jan Grulich <jgrulich@redhat.com>
6
7 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
8*/
9
10#ifndef NETWORKMANAGERQT_DEVICE_H
11#define NETWORKMANAGERQT_DEVICE_H
12
13#include <QObject>
14#include <QSharedPointer>
15
16#include "activeconnection.h"
17#include "devicestatistics.h"
18#include "dhcp4config.h"
19#include "dhcp6config.h"
20#include "generictypes.h"
21#include "ipconfig.h"
22#include <networkmanagerqt/networkmanagerqt_export.h>
23
24namespace NetworkManager
25{
26class DevicePrivate;
27class DeviceStateReason;
28class DeviceStateReasonPrivate;
29
30/**
31 * This class represents a common device interface
32 */
33class NETWORKMANAGERQT_EXPORT Device : public QObject
34{
35 Q_OBJECT
36
37 Q_PROPERTY(QString uni READ uni)
38 Q_PROPERTY(QString interfaceName READ interfaceName)
39 Q_PROPERTY(QString ipInterfaceName READ ipInterfaceName)
40 Q_PROPERTY(QString driver READ driver)
41 Q_PROPERTY(QString driverVersion READ driverVersion)
42 Q_PROPERTY(QString firmwareVersion READ firmwareVersion)
43 Q_PROPERTY(QVariant genericCapabilities READ capabilitiesV)
44 Q_PROPERTY(QHostAddress ipV4Address READ ipV4Address)
45 Q_PROPERTY(bool managed READ managed)
46 Q_PROPERTY(uint mtu READ mtu)
47 Q_PROPERTY(Interfaceflags InterfaceFlags READ interfaceFlags)
48 Q_PROPERTY(bool nmPluginMissing READ nmPluginMissing)
49 Q_PROPERTY(MeteredStatus metered READ metered)
50 Q_PROPERTY(QString udi READ udi)
51 Q_PROPERTY(bool firmwareMissing READ firmwareMissing)
52 Q_PROPERTY(bool autoconnect READ autoconnect WRITE setAutoconnect)
53 Q_PROPERTY(DeviceStateReason stateReason READ stateReason)
54 Q_PROPERTY(State state READ state)
55 Q_PROPERTY(NetworkManager::DeviceStatistics::Ptr deviceStatistics READ deviceStatistics)
56
57public:
59 typedef QList<Ptr> List;
60 /**
61 * Device connection states describe the possible states of a
62 * network connection from the user's point of view. For
63 * simplicity, states from several different layers are present -
64 * this is a high level view
65 */
66 enum State {
67 UnknownState = 0, /**< The device is in an unknown state */
68 Unmanaged = 10, /**< The device is recognized but not managed by NetworkManager */
69 Unavailable = 20, /**< The device cannot be used (carrier off, rfkill, etc) */
70 Disconnected = 30, /**< The device is not connected */
71 Preparing = 40, /**< The device is preparing to connect */
72 ConfiguringHardware = 50, /**< The device is being configured */
73 NeedAuth = 60, /**< The device is awaiting secrets necessary to continue connection */
74 ConfiguringIp = 70, /**< The IP settings of the device are being requested and configured */
75 CheckingIp = 80, /**< The device's IP connectivity ability is being determined */
76 WaitingForSecondaries = 90, /**< The device is waiting for secondary connections to be activated */
77 Activated = 100, /**< The device is active */
78 Deactivating = 110, /**< The device's network connection is being torn down */
79 Failed = 120, /**< The device is in a failure state following an attempt to activate it */
80 };
81 Q_ENUM(State)
82
83 /**
84 * Enums describing the reason for a connection state change
85 * @note StateChangeReasons NewActivation, ParentChanged, ParentManagedChanged are available in runtime NM >= 1.0.4
86 */
88 UnknownReason = 0,
89 NoReason = 1,
90 NowManagedReason = 2,
91 NowUnmanagedReason = 3,
92 ConfigFailedReason = 4,
93 ConfigUnavailableReason = 5,
94 ConfigExpiredReason = 6,
95 NoSecretsReason = 7,
96 AuthSupplicantDisconnectReason = 8,
97 AuthSupplicantConfigFailedReason = 9,
98 AuthSupplicantFailedReason = 10,
99 AuthSupplicantTimeoutReason = 11,
100 PppStartFailedReason = 12,
101 PppDisconnectReason = 13,
102 PppFailedReason = 14,
103 DhcpStartFailedReason = 15,
104 DhcpErrorReason = 16,
105 DhcpFailedReason = 17,
106 SharedStartFailedReason = 18,
107 SharedFailedReason = 19,
108 AutoIpStartFailedReason = 20,
109 AutoIpErrorReason = 21,
110 AutoIpFailedReason = 22,
111 ModemBusyReason = 23,
112 ModemNoDialToneReason = 24,
113 ModemNoCarrierReason = 25,
114 ModemDialTimeoutReason = 26,
115 ModemDialFailedReason = 27,
116 ModemInitFailedReason = 28,
117 GsmApnSelectFailedReason = 29,
118 GsmNotSearchingReason = 30,
119 GsmRegistrationDeniedReason = 31,
120 GsmRegistrationTimeoutReason = 32,
121 GsmRegistrationFailedReason = 33,
122 GsmPinCheckFailedReason = 34,
123 FirmwareMissingReason = 35,
124 DeviceRemovedReason = 36,
125 SleepingReason = 37,
126 ConnectionRemovedReason = 38,
127 UserRequestedReason = 39,
128 CarrierReason = 40,
129 ConnectionAssumedReason = 41,
130 SupplicantAvailableReason = 42,
131 ModemNotFoundReason = 43,
132 BluetoothFailedReason = 44,
133 GsmSimNotInserted = 45,
134 GsmSimPinRequired = 46,
135 GsmSimPukRequired = 47,
136 GsmSimWrong = 48,
137 InfiniBandMode = 49,
138 DependencyFailed = 50,
139 Br2684Failed = 51,
140 ModemManagerUnavailable = 52,
141 SsidNotFound = 53,
142 SecondaryConnectionFailed = 54,
143 DcbFcoeFailed = 55,
144 TeamdControlFailed = 56,
145 ModemFailed = 57,
146 ModemAvailable = 58,
147 SimPinIncorrect = 59,
148 NewActivation = 60,
149 ParentChanged = 61,
150 ParentManagedChanged = 62,
151 Reserved = 65536,
152 };
153 Q_ENUM(StateChangeReason)
154
156 UnknownStatus = 0, /**< The device metered status is unknown. */
157 Yes = 1, /**< The device is metered and the value was statically set. */
158 No = 2, /**< The device is not metered and the value was statically set. */
159 GuessYes = 3, /**< The device is metered and the value was guessed. */
160 GuessNo = 4, /**< The device is not metered and the value was guessed. */
161 };
162 Q_ENUM(MeteredStatus)
163
164 /**
165 * Possible device capabilities
166 */
168 IsManageable = 0x1, /**< denotes that the device can be controlled by this API */
169 SupportsCarrierDetect = 0x2, /**< the device informs us when it is plugged in to the medium */
170 };
171 Q_ENUM(Capability)
172 Q_DECLARE_FLAGS(Capabilities, Capability)
173 Q_FLAG(Capabilities)
174
175 /**
176 * Possible device interfaceflags
177 */
179 None = NM_DEVICE_INTERFACE_FLAG_NONE, /**< no flags set */
180 Up = NM_DEVICE_INTERFACE_FLAG_UP, /**< Corresponds to kernel IFF_UP */
181 LowerUp = NM_DEVICE_INTERFACE_FLAG_LOWER_UP, /**< Corresponds to kernel IFF_LOWER_UP */
182 Carrier = NM_DEVICE_INTERFACE_FLAG_CARRIER /**< the interface has carrier */
183 };
184 Q_ENUM(Interfaceflag)
185 Q_DECLARE_FLAGS(Interfaceflags, Interfaceflag)
186 Q_FLAG(Interfaceflags)
187
188 /**
189 * Device type
190 */
191 enum Type {
192 UnknownType = NM_DEVICE_TYPE_UNKNOWN, /**< Unknown device type */
193 Ethernet = NM_DEVICE_TYPE_ETHERNET, /**< Ieee8023 wired ethernet */
194 Wifi = NM_DEVICE_TYPE_WIFI, /**< the Ieee80211 family of wireless networks */
195 Unused1 = NM_DEVICE_TYPE_UNUSED1, /**< Currently unused */
196 Unused2 = NM_DEVICE_TYPE_UNUSED2, /**< Currently unused */
197 Bluetooth = NM_DEVICE_TYPE_BT, /**< network bluetooth device (usually a cell phone) */
198 OlpcMesh = NM_DEVICE_TYPE_OLPC_MESH, /**< OLPC Mesh networking device */
199 Wimax = NM_DEVICE_TYPE_WIMAX, /**< WiMax WWAN technology */
200 Modem = NM_DEVICE_TYPE_MODEM, /**< POTS, GSM, CDMA or LTE modems */
201 InfiniBand = NM_DEVICE_TYPE_INFINIBAND, /**< Infiniband network device */
202 Bond = NM_DEVICE_TYPE_BOND, /**< Bond virtual device */
203 Vlan = NM_DEVICE_TYPE_VLAN, /**< Vlan virtual device */
204 Adsl = NM_DEVICE_TYPE_ADSL, /**< ADSL modem device */
205 Bridge = NM_DEVICE_TYPE_BRIDGE, /**< Bridge virtual device */
206 Generic = NM_DEVICE_TYPE_GENERIC, /**< Generic device @since 1.0.0 */
207 Team = NM_DEVICE_TYPE_TEAM, /**< Team master device @since 1.0.0 */
208 Gre, /**< Gre virtual device @since 1.2.0, @deprecated use IpTunnel instead*/
209 MacVlan, /**< MacVlan virtual device @since 1.2.0 */
210 Tun, /**< Tun virtual device @since 1.2.0 */
211 Veth, /**< Veth virtual device @since 1.2.0 */
212 IpTunnel, /**< IP Tunneling Device @since 1.2.0 */
213 VxLan, /**< Vxlan Device @since 1.2.0 */
214 MacSec, /**< MacSec Device @since 1.6.0 */
215 Dummy, /**< Dummy Device @since 1.8.0 */
216 Ppp, /**< Ppp Device @since 1.10 */
217 OvsInterface, /**< OvsInterface Device @since 1.10 */
218 OvsPort, /**< OvsPort Device @since 1.10 */
219 OvsBridge, /**< OvsBridge Device @since 1.10 */
220 Wpan, /**< Wpan Device @since 1.14 */
221 Lowpan, /**< Lowpan Device @since 1.14 */
222 WireGuard, /**< WireGuard Device @since 1.14 */
223 WifiP2P, /**< WifiP2P Device @since 1.16 */
224 VRF, /**< VRF (Virtual Routing and Forwarding) Device @since: 1.24 */
225 Loopback, /**< Loopback Device @since 1.42 */
226 };
227 Q_ENUM(Type)
228 Q_DECLARE_FLAGS(Types, Type)
229 Q_FLAG(Types)
230
231 /**
232 * Creates a new device object.
233 *
234 * @param path UNI of the device
235 */
236 explicit Device(const QString &path, QObject *parent = nullptr);
237 /**
238 * Destroys a device object.
239 */
240 ~Device() override;
241 /**
242 * Retrieves the interface type. This is a virtual function that will return the
243 * proper type of all sub-classes.
244 *
245 * @returns the NetworkManager::Device::Type that corresponds to this device.
246 */
247 virtual Type type() const;
248 /**
249 * Retrieves the Unique Network Identifier (UNI) of the device.
250 * This identifier is unique for each network and network interface in the system.
251 *
252 * @returns the Unique Network Identifier of the current device
253 */
254 QString uni() const;
255 /**
256 * The current active connection for this device
257 *
258 * @returns A valid ActiveConnection object or NULL if no active connection was found
259 */
260 NetworkManager::ActiveConnection::Ptr activeConnection() const;
261 /**
262 * Returns available connections for this device
263 *
264 * @returns List of availables connection
265 */
266 Connection::List availableConnections();
267 /**
268 * The system name for the network device
269 */
270 QString interfaceName() const;
271 /**
272 * The name of the device's data interface when available. This property
273 * may not refer to the actual data interface until the device has
274 * successfully established a data connection, indicated by the device's
275 * state() becoming ACTIVATED.
276 */
277 QString ipInterfaceName() const;
278 /**
279 * Handle for the system driver controlling this network interface
280 */
281 QString driver() const;
282 /**
283 * The driver version.
284 */
285 QString driverVersion() const;
286 /**
287 * The firmware version.
288 */
289 QString firmwareVersion() const;
290 /**
291 * Reapplies connection settings on the interface.
292 */
293 QDBusPendingReply<> reapplyConnection(const NMVariantMapMap &connection, qulonglong version_id, uint flags);
294 /**
295 * Disconnects a device and prevents the device from automatically
296 * activating further connections without user intervention.
297 */
298 QDBusPendingReply<> disconnectInterface();
299 /**
300 * Deletes a software device from NetworkManager and removes the interface from the system.
301 * The method returns an error when called for a hardware device.
302 *
303 * @since 5.8.0
304 *
305 */
306 QDBusPendingReply<> deleteInterface();
307 /**
308 * returns the current IPv4 address without the prefix
309 * \sa ipV4Config()
310 * \sa ipV6Config()
311 * @deprecated
312 */
313 QHostAddress ipV4Address() const;
314 /**
315 * Get the current IPv4 configuration of this device.
316 * Only valid when device is Activated.
317 */
318 IpConfig ipV4Config() const;
319 /**
320 * Get the current IPv6 configuration of this device.
321 * Only valid when device is Activated.
322 */
323 IpConfig ipV6Config() const;
324
325 /**
326 * Get the DHCP options returned by the DHCP server
327 * or a null pointer if the device is not Activated or does not
328 * use DHCP configuration.
329 */
330 Dhcp4Config::Ptr dhcp4Config() const;
331
332 /**
333 * Get the DHCP options returned by the DHCP server
334 * or a null pointer if the device is not Activated or does not
335 * use DHCP configuration.
336 */
337 Dhcp6Config::Ptr dhcp6Config() const;
338
339 /**
340 * Retrieves the activation status of this network interface.
341 *
342 * @return true if this network interface is active, false otherwise
343 */
344 bool isActive() const;
345
346 /**
347 * Retrieves the device is valid.
348 *
349 * @return true if this device interface is valid, false otherwise
350 */
351 bool isValid() const;
352
353 /**
354 * Retrieves the current state of the device.
355 * This is a high level view of the device. It is user oriented, so
356 * actually it provides state coming from different layers.
357 *
358 * @return the current connection state
359 * @see Device::State
360 */
361 State state() const;
362 /**
363 * Retrieves the maximum speed as reported by the device.
364 * Note that this is only a design related piece of information, and that
365 * the device might not reach this maximum.
366 *
367 * @return the device's maximum speed
368 */
369 int designSpeed() const;
370 /**
371 * Retrieves the capabilities supported by this device.
372 *
373 * @return the capabilities of the device
374 */
375 Capabilities capabilities() const;
376 QVariant capabilitiesV() const;
377 /**
378 * Is the device currently being managed by NetworkManager?
379 */
380 bool managed() const;
381 /**
382 * The up or down flag for the device
383 */
384 Interfaceflags interfaceFlags() const;
385 /**
386 * Is the firmware needed by the device missing?
387 */
388 bool firmwareMissing() const;
389 /**
390 * If the device is allowed to autoconnect.
391 */
392 bool autoconnect() const;
393 /**
394 * The current state and reason for changing to that state.
395 */
396 DeviceStateReason stateReason() const;
397 /**
398 * Retrieves the Unique Device Identifier (UDI) of the device.
399 * This identifier is unique for each device in the system.
400 */
401 QString udi() const;
402
403 /**
404 * @return If non-empty, an (opaque) indicator of the physical network
405 * port associated with the device. This can be used to recognize
406 * when two seemingly-separate hardware devices are actually just
407 * different virtual interfaces to the same physical port.
408 *
409 * @since 0.9.9.0
410 */
411 QString physicalPortId() const;
412 /**
413 * The device MTU (maximum transmission unit)
414 * @since 0.9.9.0
415 *
416 */
417 uint mtu() const;
418
419 /**
420 * @return If TRUE, indicates the NetworkManager plugin for the device is likely
421 * missing or misconfigured.
422 * @since 5.14.0
423 */
424 bool nmPluginMissing() const;
425
426 /**
427 * @return Whether the amount of traffic flowing through the device is
428 * subject to limitations, for example set by service providers.
429 * @since 5.14.0
430 */
431 MeteredStatus metered() const;
432
433 /**
434 * If true, indicates the device is allowed to autoconnect.
435 * If false, manual intervention is required before the device
436 * will automatically connect to a known network, such as activating
437 * a connection using the device, or setting this property to @p true.
438 */
439 void setAutoconnect(bool autoconnect);
440
441 /**
442 * Returns Device Statistics interface
443 */
444 DeviceStatistics::Ptr deviceStatistics() const;
445
446 /**
447 * Retrieves a specialized interface to interact with the device corresponding
448 * to a given device interface.
449 *
450 * @returns a pointer to the device interface if it exists, @p 0 otherwise
451 */
452 template<class DevIface>
453 DevIface *as()
454 {
455 return qobject_cast<DevIface *>(this);
456 }
457
458 /**
459 * Retrieves a specialized interface to interact with the device corresponding
460 * to a given device interface.
461 *
462 * @returns a pointer to the device interface if it exists, 0 otherwise
463 */
464 template<class DevIface>
465 const DevIface *as() const
466 {
467 return qobject_cast<const DevIface *>(this);
468 }
469
470Q_SIGNALS:
471 /**
472 * This signal is emitted when the device's link status changed.
473 *
474 * @param newstate the new state of the connection
475 * @param oldstate the previous state of the connection
476 * @param reason the reason for the state change, if any. ReasonNone where the backend
477 * provides no reason.
478 * @see Device::State
479 * @see Device::StateChangeReason
480 */
482
483 /**
484 * Emitted when the autoconnect of this network has changed.
485 */
487
488 /**
489 * Emitted when the autoconnect of this network has changed.
490 */
492
493 /**
494 * Emitted when the list of avaiable connections of this network has changed.
495 */
497
498 /**
499 * Emitted when a new connection is available
500 */
501 void availableConnectionAppeared(const QString &connection);
502
503 /**
504 * Emitted when the connection is no longer available
505 */
507
508 /**
509 * Emitted when the capabilities of this network has changed.
510 */
512
513 /**
514 * Emitted when the DHCP configuration for IPv4 of this network has changed.
515 */
517
518 /**
519 * Emitted when the DHCP configuration for IPv6 of this network has changed.
520 */
522
523 /**
524 * Emitted when the driver of this network has changed.
525 */
527
528 /**
529 * Emitted when the driver version of this network has changed.
530 */
532
533 /**
534 * Emitted when the firmware missing state of this network has changed.
535 */
537
538 /**
539 * Emitted when the firmware version of this network has changed.
540 */
542
543 /**
544 * Emitted when the interface name of this network has changed.
545 */
547
548 /**
549 * Emitted when the IPv4 address of this network has changed.
550 */
552
553 /**
554 * Emitted when the IPv4 configuration of this network has changed.
555 */
557
558 /**
559 * Emitted when the IPv6 configuration of this network has changed.
560 */
562
563 /**
564 * Emitted when the ip interface name of this network has changed.
565 */
567
568 /**
569 * Emitted when the managed state of this network has changed.
570 */
572
573 /**
574 * Emitted when the up or down state of the device
575 * @since 1.22
576 * @note will always return NM_DEVICE_INTERFACE_FLAG_NONE when runtime NM < 1.22
577 */
579
580 /**
581 * Emitted when the physical port ID changes.
582 * @see physicalPortId()
583 * @since 0.9.9.0
584 */
586
587 /**
588 * Emitted when the maximum transmission unit has changed
589 * @since 0.9.9.0
590 */
592
593 /**
594 * Emitted when NmPluginMissing property has changed
595 * @since 5.14.0
596 * @see nmPluginMissing
597 */
598 void nmPluginMissingChanged(bool nmPluginMissing);
599
600 /**
601 * Emitted when metered property has changed
602 * @since 5.14.0
603 * @see metered
604 */
606
607 /**
608 * Emitted when the connection state of this network has changed.
609 */
611
612 /**
613 * Emitted when the state reason of this network has changed.
614 */
616
617 /**
618 * Emitted when the Unique Device Identifier of this device has changed.
619 */
621
622protected:
623 NETWORKMANAGERQT_NO_EXPORT Device(DevicePrivate &dd, QObject *parent);
624
625 DevicePrivate *const d_ptr;
626
627private:
628 Q_DECLARE_PRIVATE(Device)
629};
630
631Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Capabilities)
632Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Types)
633Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Interfaceflags)
634
635class NETWORKMANAGERQT_EXPORT DeviceStateReason
636{
637public:
638 DeviceStateReason(Device::State state, Device::StateChangeReason reason);
639 DeviceStateReason(const DeviceStateReason &);
640 ~DeviceStateReason();
641 Device::State state() const;
642 Device::StateChangeReason reason() const;
643 DeviceStateReason &operator=(const DeviceStateReason &);
644
645private:
646 Q_DECLARE_PRIVATE(DeviceStateReason)
647
648 DeviceStateReasonPrivate *const d_ptr;
649};
650
651}
652
653#endif
This class represents a common device interface.
Definition device.h:34
void ipV4ConfigChanged()
Emitted when the IPv4 configuration of this network has changed.
void interfaceFlagsChanged()
Emitted when the up or down state of the device.
State
Device connection states describe the possible states of a network connection from the user's point o...
Definition device.h:66
Capability
Possible device capabilities.
Definition device.h:167
void meteredChanged(MeteredStatus metered)
Emitted when metered property has changed.
void firmwareMissingChanged()
Emitted when the firmware missing state of this network has changed.
void physicalPortIdChanged()
Emitted when the physical port ID changes.
void stateReasonChanged()
Emitted when the state reason of this network has changed.
void activeConnectionChanged()
Emitted when the autoconnect of this network has changed.
void stateChanged(NetworkManager::Device::State newstate, NetworkManager::Device::State oldstate, NetworkManager::Device::StateChangeReason reason)
This signal is emitted when the device's link status changed.
void udiChanged()
Emitted when the Unique Device Identifier of this device has changed.
void connectionStateChanged()
Emitted when the connection state of this network has changed.
const DevIface * as() const
Retrieves a specialized interface to interact with the device corresponding to a given device interfa...
Definition device.h:465
void driverVersionChanged()
Emitted when the driver version of this network has changed.
void ipInterfaceChanged()
Emitted when the ip interface name of this network has changed.
void ipV6ConfigChanged()
Emitted when the IPv6 configuration of this network has changed.
void dhcp4ConfigChanged()
Emitted when the DHCP configuration for IPv4 of this network has changed.
void availableConnectionAppeared(const QString &connection)
Emitted when a new connection is available.
void interfaceNameChanged()
Emitted when the interface name of this network has changed.
void dhcp6ConfigChanged()
Emitted when the DHCP configuration for IPv6 of this network has changed.
DevIface * as()
Retrieves a specialized interface to interact with the device corresponding to a given device interfa...
Definition device.h:453
void mtuChanged()
Emitted when the maximum transmission unit has changed.
void driverChanged()
Emitted when the driver of this network has changed.
void firmwareVersionChanged()
Emitted when the firmware version of this network has changed.
StateChangeReason
Enums describing the reason for a connection state change.
Definition device.h:87
void availableConnectionDisappeared(const QString &connection)
Emitted when the connection is no longer available.
void nmPluginMissingChanged(bool nmPluginMissing)
Emitted when NmPluginMissing property has changed.
Type
Device type.
Definition device.h:191
@ MacVlan
MacVlan virtual device.
Definition device.h:209
@ OvsBridge
OvsBridge Device.
Definition device.h:219
@ Lowpan
Lowpan Device.
Definition device.h:221
@ Wpan
Wpan Device.
Definition device.h:220
@ WifiP2P
WifiP2P Device.
Definition device.h:223
@ Tun
Tun virtual device.
Definition device.h:210
@ MacSec
MacSec Device.
Definition device.h:214
@ IpTunnel
IP Tunneling Device.
Definition device.h:212
@ OvsPort
OvsPort Device.
Definition device.h:218
@ Veth
Veth virtual device.
Definition device.h:211
@ VRF
VRF (Virtual Routing and Forwarding) Device.
Definition device.h:224
@ OvsInterface
OvsInterface Device.
Definition device.h:217
@ WireGuard
WireGuard Device.
Definition device.h:222
@ Dummy
Dummy Device.
Definition device.h:215
@ VxLan
Vxlan Device.
Definition device.h:213
@ Gre
Gre virtual device.
Definition device.h:208
@ Loopback
Loopback Device.
Definition device.h:225
@ Ppp
Ppp Device.
Definition device.h:216
void availableConnectionChanged()
Emitted when the list of avaiable connections of this network has changed.
void autoconnectChanged()
Emitted when the autoconnect of this network has changed.
void capabilitiesChanged()
Emitted when the capabilities of this network has changed.
Interfaceflag
Possible device interfaceflags.
Definition device.h:178
void managedChanged()
Emitted when the managed state of this network has changed.
void ipV4AddressChanged()
Emitted when the IPv4 address of this network has changed.
This class represents IP configuration.
Definition ipconfig.h:28
This class allows querying the underlying system to discover the available network interfaces and rea...
Definition accesspoint.h:21
@ Disconnected
the system is not connected to any network
Definition manager.h:35
NETWORKMANAGERQT_EXPORT NetworkManager::Device::MeteredStatus metered()
Definition manager.cpp:1197
This file is part of the KDE documentation.
Documentation copyright © 1996-2024 The KDE developers.
Generated on Fri Dec 20 2024 11:59:05 by doxygen 1.12.0 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.