File indexing completed on 2024-04-21 04:00:05
0001 /* 0002 SPDX-FileCopyrightText: 2018 Pranav Gade <pranavgade20@gmail.com> 0003 0004 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0005 */ 0006 0007 #ifndef NETWORKMANAGERQT_PROXY_SETTING_H 0008 #define NETWORKMANAGERQT_PROXY_SETTING_H 0009 0010 #include "setting.h" 0011 #include <networkmanagerqt/networkmanagerqt_export.h> 0012 0013 #include <QString> 0014 0015 namespace NetworkManager 0016 { 0017 class ProxySettingPrivate; 0018 0019 /** 0020 * Represents proxy setting 0021 */ 0022 class NETWORKMANAGERQT_EXPORT ProxySetting : public Setting 0023 { 0024 public: 0025 typedef QSharedPointer<ProxySetting> Ptr; 0026 typedef QList<Ptr> List; 0027 enum Mode { 0028 None = 0, 0029 Auto = 1, 0030 }; 0031 0032 ProxySetting(); 0033 explicit ProxySetting(const Ptr &other); 0034 ~ProxySetting() override; 0035 0036 QString name() const override; 0037 0038 void setBrowserOnly(bool browserOnly); 0039 bool browserOnly() const; 0040 0041 void setMethod(Mode method); 0042 Mode method() const; 0043 0044 void setPacScript(const QString &script); 0045 QString pacScript() const; 0046 0047 void setPacUrl(const QString &url); 0048 QString pacUrl() const; 0049 0050 void fromMap(const QVariantMap &setting) override; 0051 0052 QVariantMap toMap() const override; 0053 0054 protected: 0055 ProxySettingPrivate *d_ptr; 0056 0057 private: 0058 Q_DECLARE_PRIVATE(ProxySetting) 0059 }; 0060 0061 NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const ProxySetting &setting); 0062 0063 } 0064 0065 #endif // NETWORKMANAGERQT_PROXY_SETTING_H