#ifndef VPN_DBUS_H #define VPN_DBUS_H #include "vpn.h" #include "gpserviceinterface.h" class VpnDbus : public QObject, public IVpn { Q_OBJECT Q_INTERFACES(IVpn) private: com::yuezk::qt::GPService *inner; public: VpnDbus(QObject *parent) : QObject(parent) { inner = new com::yuezk::qt::GPService("com.yuezk.qt.GPService", "/", QDBusConnection::systemBus(), this); QObject::connect(inner, &com::yuezk::qt::GPService::connected, this, &VpnDbus::connected); QObject::connect(inner, &com::yuezk::qt::GPService::disconnected, this, &VpnDbus::disconnected); QObject::connect(inner, &com::yuezk::qt::GPService::error, this, &VpnDbus::error); QObject::connect(inner, &com::yuezk::qt::GPService::logAvailable, this, &VpnDbus::logAvailable); } void connect(const QString &preferredServer, const QList &servers, const QString &username, const QString &passwd); void disconnect(); int status(); signals: // SIGNALS void connected(); void disconnected(); void error(QString errorMessage); void logAvailable(QString log); }; #endif