diff options
author | Michele Calgaro <michele.calgaro@yahoo.it> | 2021-10-30 12:06:43 +0900 |
---|---|---|
committer | Michele Calgaro <michele.calgaro@yahoo.it> | 2021-10-30 12:06:43 +0900 |
commit | 28de2ff84f59ac0b173670aa9c5331bc77c1e63f (patch) | |
tree | 43dcf0f461ee5552100b648e38979982c971597d /examples/agent/klistener.cpp | |
download | polkit-tqt-28de2ff84f59ac0b173670aa9c5331bc77c1e63f.tar.gz polkit-tqt-28de2ff84f59ac0b173670aa9c5331bc77c1e63f.zip |
Initial import from polkit-qt-1 debian snapshot archive.
https://snapshot.debian.org/package/polkit-qt-1/0.103.0-1/
Signed-off-by: Michele Calgaro <michele.calgaro@yahoo.it>
Diffstat (limited to 'examples/agent/klistener.cpp')
-rw-r--r-- | examples/agent/klistener.cpp | 100 |
1 files changed, 100 insertions, 0 deletions
diff --git a/examples/agent/klistener.cpp b/examples/agent/klistener.cpp new file mode 100644 index 000000000..32bfb981a --- /dev/null +++ b/examples/agent/klistener.cpp @@ -0,0 +1,100 @@ +/* + * This file is part of the Polkit-qt project + * Copyright (C) 2009 Jaroslav Reznik <jreznik@redhat.com> + * + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Library General Public + * License as published by the Free Software Foundation; either + * version 2 of the License, or (at your option) any later version. + * + * This library 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 + * Library General Public License for more details. + * + * You should have received a copy of the GNU Library General Public License + * along with this library; see the file COPYING.LIB. If not, write to + * the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, + * Boston, MA 02110-1301, USA. + */ + +#include <QtCore/QDebug> +#include <QInputDialog> + +#include "klistener.h" +#include "agent/polkitqt1-agent-session.h" + +using namespace PolkitQt1::Agent; + +KListener::KListener(QObject *parent) + : Listener(parent) +{ + qDebug() << "Registering KDE listener"; +} + +// README: this is just testing code... + +void KListener::initiateAuthentication(const QString &actionId, + const QString &message, + const QString &iconName, + const PolkitQt1::Details &details, + const QString &cookie, + const PolkitQt1::Identity::List &identities, + AsyncResult *result) +{ + qDebug() << "initiateAuthentication for " << actionId << " with message " << message; + qDebug() << "iconName " << iconName; + qDebug() << details.keys(); + qDebug() << "cookie" << cookie; + + Q_FOREACH (const PolkitQt1::Identity &identity, identities) { + qDebug() << identity.toString(); + Session *session; + session = new Session(identity, cookie, result); + connect(session, SIGNAL(request(QString, bool)), this, SLOT(request(QString, bool))); + connect(session, SIGNAL(completed(bool)), this, SLOT(completed(bool))); + connect(session, SIGNAL(showError(QString)), this, SLOT(showError(QString))); + connect(session, SIGNAL(showInfo(QString)), this, SLOT(showInfo(QString))); + session->initiate(); + } +} + +bool KListener::initiateAuthenticationFinish() +{ + qDebug() << "initiateAuthenticationFinish()"; + return true; +} + +void KListener::cancelAuthentication() +{ + qDebug() << "Cancelling authentication"; +} + +void KListener::request(const QString &request, bool echo) +{ + qDebug() << "Request: " << request; + + Session *session = (Session *)sender(); + + session->setResponse(""); +} + +void KListener::completed(bool gainedAuthorization) +{ + qDebug() << "Completed: " << gainedAuthorization; + Session *session = (Session *)sender(); + + session->result()->setCompleted(); + + delete session; +} + +void KListener::showError(const QString &text) +{ + qDebug() << "Error: " << text; +} + +void KListener::showInfo(const QString &text) +{ + qDebug() << "Info: " << text; +} |