1/*
2 SPDX-FileCopyrightText: 2018 Pranav Gade <pranavgade20@gmail.com>
3
4 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
5*/
6
7#ifndef NETWORKMANAGERQT_PROXY_SETTING_H
8#define NETWORKMANAGERQT_PROXY_SETTING_H
9
10#include "setting.h"
11#include <networkmanagerqt/networkmanagerqt_export.h>
12
13#include <QString>
14
15namespace NetworkManager
16{
17class ProxySettingPrivate;
18
19/*!
20 * \class NetworkManager::ProxySetting
21 * \inheaderfile NetworkManagerQt/ProxySetting
22 * \inmodule NetworkManagerQt
23 *
24 * \brief Represents proxy setting.
25 */
26class NETWORKMANAGERQT_EXPORT ProxySetting : public Setting
27{
28public:
29 /*!
30 * \typedef NetworkManager::ProxySetting::Ptr
31 */
32 typedef QSharedPointer<ProxySetting> Ptr;
33 /*!
34 * \typedef NetworkManager::ProxySetting::List
35 */
36 typedef QList<Ptr> List;
37 /*!
38 *
39 * \value None
40 * \value Auto
41 */
42 enum Mode {
43 None = 0,
44 Auto = 1,
45 };
46
47 /*!
48 */
49 ProxySetting();
50 /*!
51 */
52 explicit ProxySetting(const Ptr &other);
53 ~ProxySetting() override;
54
55 QString name() const override;
56
57 /*!
58 */
59 void setBrowserOnly(bool browserOnly);
60 /*!
61 */
62 bool browserOnly() const;
63
64 /*!
65 */
66 void setMethod(Mode method);
67 /*!
68 */
69 Mode method() const;
70
71 /*!
72 */
73 void setPacScript(const QString &script);
74 /*!
75 */
76 QString pacScript() const;
77
78 /*!
79 */
80 void setPacUrl(const QString &url);
81 /*!
82 */
83 QString pacUrl() const;
84
85 void fromMap(const QVariantMap &setting) override;
86
87 QVariantMap toMap() const override;
88
89protected:
90 ProxySettingPrivate *d_ptr;
91
92private:
93 Q_DECLARE_PRIVATE(ProxySetting)
94};
95
96NETWORKMANAGERQT_EXPORT QDebug operator<<(QDebug dbg, const ProxySetting &setting);
97
98}
99
100#endif // NETWORKMANAGERQT_PROXY_SETTING_H
101

source code of networkmanager-qt/src/settings/proxysetting.h