10 #ifndef NETWORKMANAGERQT_DEVICE_H
11 #define NETWORKMANAGERQT_DEVICE_H
14 #include <QSharedPointer>
16 #include "activeconnection.h"
17 #include "devicestatistics.h"
18 #include "dhcp4config.h"
19 #include "dhcp6config.h"
20 #include "generictypes.h"
22 #include <networkmanagerqt/networkmanagerqt_export.h>
27 class DeviceStateReason;
28 class DeviceStateReasonPrivate;
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)
45 Q_PROPERTY(
bool managed READ managed)
46 Q_PROPERTY(uint mtu READ mtu)
47 Q_PROPERTY(
bool nmPluginMissing READ nmPluginMissing)
49 Q_PROPERTY(
QString udi READ udi)
50 Q_PROPERTY(
bool firmwareMissing READ firmwareMissing)
51 Q_PROPERTY(
bool autoconnect READ autoconnect WRITE setAutoconnect)
52 Q_PROPERTY(DeviceStateReason stateReason READ stateReason)
53 Q_PROPERTY(
State state READ state)
71 ConfiguringHardware = 50,
75 WaitingForSecondaries = 90,
90 NowUnmanagedReason = 3,
91 ConfigFailedReason = 4,
92 ConfigUnavailableReason = 5,
93 ConfigExpiredReason = 6,
95 AuthSupplicantDisconnectReason = 8,
96 AuthSupplicantConfigFailedReason = 9,
97 AuthSupplicantFailedReason = 10,
98 AuthSupplicantTimeoutReason = 11,
99 PppStartFailedReason = 12,
100 PppDisconnectReason = 13,
101 PppFailedReason = 14,
102 DhcpStartFailedReason = 15,
103 DhcpErrorReason = 16,
104 DhcpFailedReason = 17,
105 SharedStartFailedReason = 18,
106 SharedFailedReason = 19,
107 AutoIpStartFailedReason = 20,
108 AutoIpErrorReason = 21,
109 AutoIpFailedReason = 22,
110 ModemBusyReason = 23,
111 ModemNoDialToneReason = 24,
112 ModemNoCarrierReason = 25,
113 ModemDialTimeoutReason = 26,
114 ModemDialFailedReason = 27,
115 ModemInitFailedReason = 28,
116 GsmApnSelectFailedReason = 29,
117 GsmNotSearchingReason = 30,
118 GsmRegistrationDeniedReason = 31,
119 GsmRegistrationTimeoutReason = 32,
120 GsmRegistrationFailedReason = 33,
121 GsmPinCheckFailedReason = 34,
122 FirmwareMissingReason = 35,
123 DeviceRemovedReason = 36,
125 ConnectionRemovedReason = 38,
126 UserRequestedReason = 39,
128 ConnectionAssumedReason = 41,
129 SupplicantAvailableReason = 42,
130 ModemNotFoundReason = 43,
131 BluetoothFailedReason = 44,
132 GsmSimNotInserted = 45,
133 GsmSimPinRequired = 46,
134 GsmSimPukRequired = 47,
137 DependencyFailed = 50,
139 ModemManagerUnavailable = 52,
141 SecondaryConnectionFailed = 54,
143 TeamdControlFailed = 56,
146 SimPinIncorrect = 59,
149 ParentManagedChanged = 62,
152 Q_ENUM(StateChangeReason)
161 Q_ENUM(MeteredStatus)
168 SupportsCarrierDetect = 0x2,
171 Q_DECLARE_FLAGS(Capabilities, Capability)
178 UnknownType = NM_DEVICE_TYPE_UNKNOWN,
179 Ethernet = NM_DEVICE_TYPE_ETHERNET,
180 Wifi = NM_DEVICE_TYPE_WIFI,
181 Unused1 = NM_DEVICE_TYPE_UNUSED1,
182 Unused2 = NM_DEVICE_TYPE_UNUSED2,
183 Bluetooth = NM_DEVICE_TYPE_BT,
184 OlpcMesh = NM_DEVICE_TYPE_OLPC_MESH,
185 Wimax = NM_DEVICE_TYPE_WIMAX,
186 Modem = NM_DEVICE_TYPE_MODEM,
187 InfiniBand = NM_DEVICE_TYPE_INFINIBAND,
188 Bond = NM_DEVICE_TYPE_BOND,
189 Vlan = NM_DEVICE_TYPE_VLAN,
190 Adsl = NM_DEVICE_TYPE_ADSL,
191 Bridge = NM_DEVICE_TYPE_BRIDGE,
193 Team = NM_DEVICE_TYPE_TEAM,
212 Q_DECLARE_FLAGS(Types, Type)
231 virtual Type type()
const;
261 QString ipInterfaceName()
const;
273 QString firmwareVersion()
const;
328 bool isActive()
const;
335 bool isValid()
const;
353 int designSpeed()
const;
359 Capabilities capabilities()
const;
364 bool managed()
const;
368 bool firmwareMissing()
const;
372 bool autoconnect()
const;
376 DeviceStateReason stateReason()
const;
391 QString physicalPortId()
const;
404 bool nmPluginMissing()
const;
419 void setAutoconnect(
bool autoconnect);
432 template<
class DevIface>
435 return qobject_cast<DevIface *>(
this);
444 template<
class DevIface>
445 const DevIface *
as()
const
447 return qobject_cast<const DevIface *>(
this);
466 void activeConnectionChanged();
471 void autoconnectChanged();
476 void availableConnectionChanged();
481 void availableConnectionAppeared(
const QString &connection);
486 void availableConnectionDisappeared(
const QString &connection);
491 void capabilitiesChanged();
496 void dhcp4ConfigChanged();
501 void dhcp6ConfigChanged();
506 void driverChanged();
511 void driverVersionChanged();
516 void firmwareMissingChanged();
521 void firmwareVersionChanged();
526 void interfaceNameChanged();
531 void ipV4AddressChanged();
536 void ipV4ConfigChanged();
541 void ipV6ConfigChanged();
546 void ipInterfaceChanged();
551 void managedChanged();
558 void physicalPortIdChanged();
571 void nmPluginMissingChanged(
bool nmPluginMissing);
578 void meteredChanged(MeteredStatus
metered);
583 void connectionStateChanged();
588 void stateReasonChanged();
596 NETWORKMANAGERQT_NO_EXPORT
Device(DevicePrivate &dd,
QObject *parent);
598 DevicePrivate *
const d_ptr;
604 Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Capabilities)
605 Q_DECLARE_OPERATORS_FOR_FLAGS(Device::Types)
607 class NETWORKMANAGERQT_EXPORT DeviceStateReason
611 DeviceStateReason(
const DeviceStateReason &);
612 ~DeviceStateReason();
615 DeviceStateReason &operator=(
const DeviceStateReason &);
618 Q_DECLARE_PRIVATE(DeviceStateReason)
620 DeviceStateReasonPrivate *
const d_ptr;