File indexing completed on 2024-04-21 16:20:25
0001 /* 0002 SPDX-FileCopyrightText: 2008 Will Stephenson <wstephenson@kde.org> 0003 SPDX-FileCopyrightText: 2011 Rajeesh K Nambiar <rajeeshknambiar@gmail.com> 0004 SPDX-FileCopyrightText: 2011 Ilia Kats <ilia-kats@gmx.net> 0005 SPDX-FileCopyrightText: 2014 Lamarque V. Souza <lamarque@kde.org> 0006 0007 SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL 0008 */ 0009 0010 #ifndef PLASMANM_OPENVPN_H 0011 #define PLASMANM_OPENVPN_H 0012 0013 #include "vpnuiplugin.h" 0014 0015 #include <QTextStream> 0016 #include <QVariant> 0017 0018 class Q_DECL_EXPORT OpenVpnUiPlugin : public VpnUiPlugin 0019 { 0020 Q_OBJECT 0021 public: 0022 explicit OpenVpnUiPlugin(QObject *parent = nullptr, const QVariantList & = QVariantList()); 0023 ~OpenVpnUiPlugin() override; 0024 SettingWidget *widget(const NetworkManager::VpnSetting::Ptr &setting, QWidget *parent) override; 0025 SettingWidget *askUser(const NetworkManager::VpnSetting::Ptr &setting, const QStringList &hints, QWidget *parent) override; 0026 0027 QString suggestedFileName(const NetworkManager::ConnectionSettings::Ptr &connection) const override; 0028 QStringList supportedFileExtensions() const override; 0029 ImportResult importConnectionSettings(const QString &fileName) override; 0030 ExportResult exportConnectionSettings(const NetworkManager::ConnectionSettings::Ptr &connection, const QString &fileName) override; 0031 0032 private: 0033 QString saveFile(QTextStream &in, const QString &endTag, const QString &connectionName, const QString &fileName); 0034 QString tryToCopyToCertificatesDirectory(const QString &connectionName, const QString &sourceFilePath); 0035 }; 0036 0037 #endif // PLASMANM_OPENVPN_H