summaryrefslogtreecommitdiffstats
path: root/examples/agent/klistener.cpp
diff options
context:
space:
mode:
authorMichele Calgaro <michele.calgaro@yahoo.it>2021-10-30 12:06:43 +0900
committerMichele Calgaro <michele.calgaro@yahoo.it>2021-10-30 12:06:43 +0900
commit28de2ff84f59ac0b173670aa9c5331bc77c1e63f (patch)
tree43dcf0f461ee5552100b648e38979982c971597d /examples/agent/klistener.cpp
downloadpolkit-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.cpp100
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;
+}