diff options
Diffstat (limited to 'agent/polkitqt1-agent-session.cpp')
-rw-r--r-- | agent/polkitqt1-agent-session.cpp | 169 |
1 files changed, 0 insertions, 169 deletions
diff --git a/agent/polkitqt1-agent-session.cpp b/agent/polkitqt1-agent-session.cpp deleted file mode 100644 index 1b5591dda..000000000 --- a/agent/polkitqt1-agent-session.cpp +++ /dev/null @@ -1,169 +0,0 @@ -/* - * This file is part of the PolKit1-tqt project - * Copyright (C) 2009 Radek Novacek <rnovacek@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 "polkittqt1-agent-session.h" - -#include <TQtCore/TQDebug> - -#include "polkittqt1-identity.h" - -#define POLKIT_AGENT_I_KNOW_API_IS_SUBJECT_TO_CHANGE 1 -#include <polkitagent/polkitagent.h> - -using namespace PolkitTQt::Agent; - -class Session::Private -{ -public: - Private() {} - ~Private(); - - static void completed(PolkitAgentSession *s, gboolean gained_authorization, gpointer user_data); - static void request(PolkitAgentSession *s, gchar *request, gboolean echo_on, gpointer user_data); - static void showError(PolkitAgentSession *s, gchar *text, gpointer user_data); - static void showInfo(PolkitAgentSession *s, gchar *text, gpointer user_data); - - AsyncResult *result; - PolkitAgentSession *polkitAgentSession; -}; - -Session::Private::~Private() -{ - // polkitAgentSession is freed in Session d'tor -} - -Session::Session(const PolkitTQt::Identity &identity, const TQString &cookie, AsyncResult *result, TQObject *parent) - : TQObject(parent) - , d(new Private) -{ - d->result = result; - d->polkitAgentSession = polkit_agent_session_new(identity.identity(), cookie.toUtf8().data()); - g_signal_connect(G_OBJECT(d->polkitAgentSession), "completed", G_CALLBACK(Private::completed), this); - g_signal_connect(G_OBJECT(d->polkitAgentSession), "request", G_CALLBACK(Private::request), this); - g_signal_connect(G_OBJECT(d->polkitAgentSession), "show-error", G_CALLBACK(Private::showError), this); - g_signal_connect(G_OBJECT(d->polkitAgentSession), "show-info", G_CALLBACK(Private::showInfo), this); -} - -Session::Session(PolkitAgentSession *pkAgentSession, TQObject *parent) - : TQObject(parent) - , d(new Private) -{ - d->polkitAgentSession = pkAgentSession; - g_signal_connect(G_OBJECT(d->polkitAgentSession), "completed", G_CALLBACK(Private::completed), this); - g_signal_connect(G_OBJECT(d->polkitAgentSession), "request", G_CALLBACK(Private::request), this); - g_signal_connect(G_OBJECT(d->polkitAgentSession), "show-error", G_CALLBACK(Private::showError), this); - g_signal_connect(G_OBJECT(d->polkitAgentSession), "show-info", G_CALLBACK(Private::showInfo), this); -} - -Session::~Session() -{ - if (d->polkitAgentSession) - g_object_unref(d->polkitAgentSession); - - delete d; -} - -void Session::initiate() -{ - polkit_agent_session_initiate(d->polkitAgentSession); -} - -void Session::setResponse(const TQString &response) -{ - polkit_agent_session_response(d->polkitAgentSession, response.toUtf8().data()); -} - -void Session::cancel() -{ - polkit_agent_session_cancel(d->polkitAgentSession); -} - -AsyncResult *Session::result() -{ - return d->result; -} - -void Session::Private::completed(PolkitAgentSession *s, gboolean gained_authorization, gpointer user_data) -{ - tqDebug() << "COMPLETED"; - Session *session = (Session *)user_data; - TQ_EMIT(session)->completed(gained_authorization); - - //free session here as polkit documentation asks - g_object_unref(session->d->polkitAgentSession); - session->d->polkitAgentSession = 0; -} - -void Session::Private::request(PolkitAgentSession *s, gchar *request, gboolean echo_on, gpointer user_data) -{ - tqDebug() << "REQUEST"; - TQ_EMIT((Session *)user_data)->request(TQString::fromUtf8(request), echo_on); -} - -void Session::Private::showError(PolkitAgentSession *s, gchar *text, gpointer user_data) -{ - tqDebug() << "showError"; - TQ_EMIT((Session *)user_data)->showError(TQString::fromUtf8(text)); -} - -void Session::Private::showInfo(PolkitAgentSession *s, gchar *text, gpointer user_data) -{ - tqDebug() << "showInfo"; - TQ_EMIT((Session *)user_data)->showInfo(TQString::fromUtf8(text)); -} - -// - -class AsyncResult::Private -{ -public: - Private(GSimpleAsyncResult *r) : result(r) {}; - - GSimpleAsyncResult *result; -}; - -AsyncResult::AsyncResult(GSimpleAsyncResult *result) - : d(new Private(result)) -{ -} - -AsyncResult::~AsyncResult() -{ - if (d->result) - g_object_unref(d->result); -} - -void AsyncResult::setCompleted() -{ - if (d->result == NULL) - return; - g_simple_async_result_complete(d->result); - // Assure that completed won't be called twice - g_object_unref(d->result); - d->result = NULL; -} - -void AsyncResult::setError(const TQString &text) -{ - Q_ASSERT(d->result); - g_simple_async_result_set_error(d->result, POLKIT_ERROR, POLKIT_ERROR_FAILED, "%s", text.toUtf8().data()); -} - -#include "polkittqt1-agent-session.moc" |