File indexing completed on 2024-05-05 17:42:56

0001 /*
0002     SPDX-FileCopyrightText: 2008 Will Stephenson <wstephenson@kde.org>
0003     SPDX-FileCopyrightText: 2011-2012 Rajeesh K Nambiar <rajeeshknambiar@gmail.com>
0004     SPDX-FileCopyrightText: 2011-2012 Lamarque V. Souza <lamarque@kde.org>
0005     SPDX-FileCopyrightText: 2013 Lukas Tinkl <ltinkl@redhat.com>
0006 
0007     SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only OR LicenseRef-KDE-Accepted-GPL
0008 */
0009 
0010 #ifndef PLASMA_NM_VPNC_H
0011 #define PLASMA_NM_VPNC_H
0012 
0013 #include "vpnuiplugin.h"
0014 
0015 #include <QVariant>
0016 
0017 #include <KConfigGroup>
0018 #include <KProcess>
0019 
0020 class VpncUiPluginPrivate : public QObject
0021 {
0022     Q_OBJECT
0023 public:
0024     VpncUiPluginPrivate();
0025     ~VpncUiPluginPrivate() override;
0026     QString readStringKeyValue(const KConfigGroup &configGroup, const QString &key);
0027     KProcess *ciscoDecrypt = nullptr;
0028     QString decryptedPasswd;
0029 
0030 public Q_SLOTS:
0031     void gotCiscoDecryptOutput();
0032     void ciscoDecryptError(QProcess::ProcessError pError);
0033     void ciscoDecryptFinished(int exitCode, QProcess::ExitStatus exitStatus);
0034 };
0035 
0036 class Q_DECL_EXPORT VpncUiPlugin : public VpnUiPlugin
0037 {
0038     Q_OBJECT
0039 
0040 public:
0041     explicit VpncUiPlugin(QObject *parent = nullptr, const QVariantList & = QVariantList());
0042     ~VpncUiPlugin() override;
0043     SettingWidget *widget(const NetworkManager::VpnSetting::Ptr &setting, QWidget *parent) override;
0044     SettingWidget *askUser(const NetworkManager::VpnSetting::Ptr &setting, const QStringList &hints, QWidget *parent) override;
0045 
0046     QString suggestedFileName(const NetworkManager::ConnectionSettings::Ptr &connection) const override;
0047     QStringList supportedFileExtensions() const override;
0048     ImportResult importConnectionSettings(const QString &fileName) override;
0049     ExportResult exportConnectionSettings(const NetworkManager::ConnectionSettings::Ptr &connection, const QString &fileName) override;
0050 };
0051 
0052 #endif // PLASMA_NM_VPNC_H