2023-10-24 14:57:15 -05:00
|
|
|
#ifndef CONNECTIONSETTINGSENGINE_H
|
|
|
|
#define CONNECTIONSETTINGSENGINE_H
|
|
|
|
|
2023-10-25 22:58:07 -05:00
|
|
|
#include <QString>
|
|
|
|
#include <QVariant>
|
2023-10-24 14:57:15 -05:00
|
|
|
|
|
|
|
class ConnectionSettingsEngine
|
|
|
|
{
|
|
|
|
public:
|
2023-10-25 03:49:33 -05:00
|
|
|
enum MeteredMode {
|
|
|
|
MeteredAutomatic,
|
|
|
|
MeteredYes,
|
|
|
|
MeteredNo
|
|
|
|
};
|
|
|
|
|
2023-12-02 20:54:59 -06:00
|
|
|
enum WifiMode {
|
|
|
|
WifiModeInfrastructure,
|
|
|
|
WifiModeAdhoc,
|
|
|
|
WifiModeAccessPoint
|
|
|
|
};
|
|
|
|
|
2023-11-01 23:35:33 -05:00
|
|
|
enum Ipv4Method {
|
|
|
|
Ipv4Automatic,
|
|
|
|
Ipv4AutomaticAddressOnly,
|
|
|
|
Ipv4LinkLocal,
|
|
|
|
Ipv4Manual,
|
|
|
|
Ipv4Shared,
|
|
|
|
Ipv4Disabled
|
|
|
|
};
|
|
|
|
|
2023-11-17 15:44:09 -06:00
|
|
|
enum Ipv6Method {
|
|
|
|
Ipv6Automatic,
|
|
|
|
Ipv6AutomaticAddressOnly,
|
|
|
|
Ipv6AutomaticDhcpOnly,
|
|
|
|
Ipv6LinkLocal,
|
|
|
|
Ipv6Manual,
|
|
|
|
Ipv6Ignored,
|
|
|
|
Ipv6Disabled
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Ipv6Privacy {
|
|
|
|
Ipv6PrivacyDefault,
|
|
|
|
Ipv6PrivacyDisabled,
|
|
|
|
Ipv6PrivacyEnabledPublicAddress,
|
|
|
|
Ipv6PrivacyEnabledTempAddress
|
|
|
|
};
|
|
|
|
|
2023-10-25 03:49:33 -05:00
|
|
|
enum LinkSpeed {
|
2023-10-27 12:27:14 -05:00
|
|
|
SpeedUnknown,
|
2023-10-25 03:49:33 -05:00
|
|
|
Speed10Mbps,
|
|
|
|
Speed100Mbps,
|
|
|
|
Speed1Gbps,
|
|
|
|
Speed2_5Gbps,
|
|
|
|
Speed5Gbps,
|
|
|
|
Speed10Gbps,
|
|
|
|
Speed40Gbps,
|
|
|
|
Speed100Gbps
|
|
|
|
};
|
|
|
|
|
2023-10-27 12:27:14 -05:00
|
|
|
enum LinkNegotiation {
|
|
|
|
NegotiationIgnore,
|
|
|
|
NegotiationAutomatic,
|
|
|
|
NegotiationManual
|
|
|
|
};
|
|
|
|
|
|
|
|
enum DuplexMode {
|
|
|
|
DuplexUnknown,
|
|
|
|
DuplexHalf,
|
|
|
|
DuplexFull
|
|
|
|
};
|
|
|
|
|
2023-10-29 21:35:10 -05:00
|
|
|
enum Security802_1xAuthMode {
|
|
|
|
Security802_1xAuthMd5,
|
|
|
|
Security802_1xAuthTls,
|
|
|
|
Security802_1xAuthPwd,
|
|
|
|
Security802_1xAuthFast,
|
|
|
|
Security802_1xAuthTtls,
|
|
|
|
Security802_1xAuthPeap
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Security802_1xPasswordStoreMode {
|
|
|
|
Security802_1xPasswordStoreForAllUsers,
|
|
|
|
Security802_1xPasswordStoreForOneUser,
|
|
|
|
Security802_1xPasswordStoreNotSaved
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Security802_1xFastProvisioningMode {
|
|
|
|
Security802_1xFastProvisioningOff,
|
|
|
|
Security802_1xFastProvisioningAnonymous,
|
|
|
|
Security802_1xFastProvisioningAuthenticated,
|
|
|
|
Security802_1xFastProvisioningBoth
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Security802_1xAuthMethod {
|
|
|
|
Security802_1xAuthMethodUnknown,
|
|
|
|
Security802_1xAuthMethodPap,
|
|
|
|
Security802_1xAuthMethodChap,
|
|
|
|
Security802_1xAuthMethodMschap,
|
|
|
|
Security802_1xAuthMethodMschapv2,
|
|
|
|
Security802_1xAuthMethodGtc,
|
|
|
|
Security802_1xAuthMethodMd5
|
|
|
|
};
|
|
|
|
|
|
|
|
enum Security802_1xPeapVersion {
|
|
|
|
Security802_1xPeapVersionUnknown,
|
|
|
|
Security802_1xPeapVersionZero,
|
|
|
|
Security802_1xPeapVersionOne
|
|
|
|
};
|
|
|
|
|
2023-10-24 14:57:15 -05:00
|
|
|
ConnectionSettingsEngine();
|
|
|
|
|
|
|
|
static QVariantMap readConnectionSettings(QString connUuidStr);
|
|
|
|
static void modifyConnectionSettings(QString connUuidStr, QVariantMap settings);
|
2023-10-24 19:02:00 -05:00
|
|
|
|
2023-10-25 22:58:07 -05:00
|
|
|
private slots:
|
|
|
|
static void saveReplyFinished();
|
|
|
|
|
2023-10-24 19:02:00 -05:00
|
|
|
private:
|
|
|
|
static QString userName();
|
2023-10-25 22:58:07 -05:00
|
|
|
static QString targetConnUuidStr;
|
2023-10-24 14:57:15 -05:00
|
|
|
};
|
|
|
|
|
|
|
|
#endif // CONNECTIONSETTINGSENGINE_H
|