netctl-gui/sources/plasmoid/plugin/netctladds.h
2014-12-30 14:39:25 +03:00

75 lines
3.8 KiB
C++

/***************************************************************************
* This file is part of netctl-gui *
* *
* netctl-gui is free software: you can redistribute it and/or *
* modify it under the terms of the GNU General Public License as *
* published by the Free Software Foundation, either version 3 of the *
* License, or (at your option) any later version. *
* *
* netctl-gui is distributed in the hope that it will be useful, *
* but WITHOUT ANY WARRANTY; without even the implied warranty of *
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the *
* GNU General Public License for more details. *
* *
* You should have received a copy of the GNU General Public License *
* along with netctl-gui. If not, see http://www.gnu.org/licenses/ *
***************************************************************************/
#ifndef NETCTLADDS_H
#define NETCTLADDS_H
#include <QMap>
#include <QObject>
#include <QVariant>
class NetctlAdds : public QObject
{
Q_OBJECT
public:
NetctlAdds(QObject *parent = 0);
~NetctlAdds();
Q_INVOKABLE QString getAboutText(const QString type = "header");
Q_INVOKABLE QString getInfo(const QString current, const QString status);
Q_INVOKABLE QString parsePattern(const QString pattern, const QMap<QString, QVariant> dict);
Q_INVOKABLE void runCmd(const QString cmd);
Q_INVOKABLE void sendNotification(const QString eventId, const QString message);
// context menu
Q_INVOKABLE void enableProfileSlot(const QMap<QString, QVariant> dict,
const bool useHelper = true,
const QString cmd = QString("/usr/bin/netctl"),
const QString sudoCmd = QString(""));
Q_INVOKABLE void restartProfileSlot(const QMap<QString, QVariant> dict,
const bool useHelper = true,
const QString cmd = QString("/usr/bin/netctl"),
const QString sudoCmd = QString(""));
Q_INVOKABLE void startProfileSlot(QString profile, const bool status,
const bool useHelper = true,
const QString cmd = QString("/usr/bin/netctl"),
const QString sudoCmd = QString(""));
Q_INVOKABLE void stopProfileSlot(const QMap<QString, QVariant> dict,
const bool useHelper = true,
const QString cmd = QString("/usr/bin/netctl"),
const QString sudoCmd = QString(""));
Q_INVOKABLE void stopAllProfilesSlot(const bool useHelper = true,
const QString cmd = QString("/usr/bin/netctl"),
const QString sudoCmd = QString(""));
Q_INVOKABLE void switchToProfileSlot(QString profile,
const bool useHelper = true,
const QString cmd = QString("/usr/bin/netctl-auto"));
private:
bool debug = false;
// helper
bool checkHelperStatus(const bool useHelper = true);
void startHelper(const QString cmd = QString("/usr/bin/netctlgui-helper"));
// dbus
QList<QVariant> sendDBusRequest(const QString cmd, const QList<QVariant> args = QList<QVariant>());
};
#endif /* NETCTLADDS_H */