File indexing completed on 2025-01-19 05:04:32
0001 /* 0002 SPDX-FileCopyrightText: 2011 Ilia Kats <ilia-kats@gmx.net> 0003 SPDX-FileCopyrightText: 2013 Lukáš Tinkl <ltinkl@redhat.com> 0004 0005 SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL 0006 */ 0007 0008 #ifndef OPENCONNECTAUTH_H 0009 #define OPENCONNECTAUTH_H 0010 0011 #include "settingwidget.h" 0012 0013 #include <NetworkManagerQt/VpnSetting> 0014 0015 #include <QNetworkCookie> 0016 #include <QSemaphore> 0017 #include <QString> 0018 #include <QUrl> 0019 #include <QWebEngineLoadingInfo> 0020 0021 class QLayout; 0022 struct openconnect_info; 0023 struct oc_auth_form; 0024 0025 class OpenconnectAuthWidgetPrivate; 0026 0027 class OpenconnectAuthWidget : public SettingWidget 0028 { 0029 Q_OBJECT 0030 Q_DECLARE_PRIVATE(OpenconnectAuthWidget) 0031 public: 0032 explicit OpenconnectAuthWidget(const NetworkManager::VpnSetting::Ptr &setting, const QStringList &hints, QWidget *parent = nullptr); 0033 ~OpenconnectAuthWidget() override; 0034 virtual void readSecrets(); 0035 void readConfig(); 0036 QVariantMap setting() const override; 0037 0038 private: 0039 OpenconnectAuthWidgetPrivate *const d_ptr; 0040 void acceptDialog(); 0041 void addFormInfo(const QString &, const QString &); 0042 void deleteAllFromLayout(QLayout *); 0043 0044 private Q_SLOTS: 0045 void writeNewConfig(const QString &); 0046 void validatePeerCert(const QString &, const QString &, const QString &, bool *); 0047 void processAuthForm(struct oc_auth_form *); 0048 void updateLog(const QString &, const int &); 0049 void logLevelChanged(int); 0050 void formLoginClicked(); 0051 void formGroupChanged(); 0052 void workerFinished(const int &); 0053 void viewServerLogToggled(bool); 0054 void connectHost(); 0055 void initTokens(); 0056 void handleWebEngineCookie(const QNetworkCookie &); 0057 void handleWebEngineLoad(const QWebEngineLoadingInfo &); 0058 void handleWebEngineUrl(const QUrl &url); 0059 void openWebEngine(const char *, QSemaphore *); 0060 }; 0061 0062 #endif // OPENCONNECTAUTH_H