aboutsummaryrefslogtreecommitdiff
path: root/src/mm-auth-request.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@lanedo.com>2012-02-21 12:45:50 +0100
committerAleksander Morgado <aleksander@lanedo.com>2012-03-16 14:53:15 +0100
commit089a98385071527ca17925f8cd63f79cff02f8de (patch)
tree492257956117bd66b501b8773bd8b8fd005504b2 /src/mm-auth-request.c
parent7316f4645bf82a8586507a4f7abf57bf9470d309 (diff)
auth: refactor and simplify authentication related setup
We get rid of the MMAuthRequests; and we leave up to the caller and user of the MMAuthProvider the handling of request cancellations through the provided GCancellable. Also made GIO-async-friendly methods.
Diffstat (limited to 'src/mm-auth-request.c')
-rw-r--r--src/mm-auth-request.c182
1 files changed, 0 insertions, 182 deletions
diff --git a/src/mm-auth-request.c b/src/mm-auth-request.c
deleted file mode 100644
index 89e8a356..00000000
--- a/src/mm-auth-request.c
+++ /dev/null
@@ -1,182 +0,0 @@
-/* -*- Mode: C; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
-/*
- * This program 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 2 of the License, or
- * (at your option) any later version.
- *
- * This program 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:
- *
- * Copyright (C) 2010 Red Hat, Inc.
- */
-
-#include "mm-auth-request.h"
-
-G_DEFINE_TYPE (MMAuthRequest, mm_auth_request, G_TYPE_OBJECT)
-
-#define MM_AUTH_REQUEST_GET_PRIVATE(o) (G_TYPE_INSTANCE_GET_PRIVATE ((o), MM_TYPE_AUTH_REQUEST, MMAuthRequestPrivate))
-
-typedef struct {
- GObject *owner;
- char *auth;
-
- GDBusMethodInvocation *context;
- MMAuthRequestCb callback;
- gpointer callback_data;
-
- MMAuthResult result;
-} MMAuthRequestPrivate;
-
-/*****************************************************************************/
-
-GObject *
-mm_auth_request_new (GType atype,
- const char *authorization,
- GObject *owner,
- GDBusMethodInvocation *context,
- MMAuthRequestCb callback,
- gpointer callback_data,
- GDestroyNotify notify)
-{
- GObject *obj;
- MMAuthRequestPrivate *priv;
-
- g_return_val_if_fail (authorization != NULL, NULL);
- g_return_val_if_fail (owner != NULL, NULL);
- g_return_val_if_fail (callback != NULL, NULL);
-
- obj = g_object_new (atype ? atype : MM_TYPE_AUTH_REQUEST, NULL);
- if (obj) {
- priv = MM_AUTH_REQUEST_GET_PRIVATE (obj);
- priv->owner = owner; /* not reffed */
- priv->context = context;
- priv->auth = g_strdup (authorization);
- priv->callback = callback;
- priv->callback_data = callback_data;
-
- g_object_set_data_full (obj, "caller-data", callback_data, notify);
- }
-
- return obj;
-}
-
-/*****************************************************************************/
-
-const char *
-mm_auth_request_get_authorization (MMAuthRequest *self)
-{
- g_return_val_if_fail (self != NULL, NULL);
- g_return_val_if_fail (MM_IS_AUTH_REQUEST (self), NULL);
-
- return MM_AUTH_REQUEST_GET_PRIVATE (self)->auth;
-}
-
-GObject *
-mm_auth_request_get_owner (MMAuthRequest *self)
-{
- g_return_val_if_fail (self != NULL, NULL);
- g_return_val_if_fail (MM_IS_AUTH_REQUEST (self), NULL);
-
- return MM_AUTH_REQUEST_GET_PRIVATE (self)->owner;
-}
-
-MMAuthResult
-mm_auth_request_get_result (MMAuthRequest *self)
-{
- g_return_val_if_fail (self != NULL, MM_AUTH_RESULT_UNKNOWN);
- g_return_val_if_fail (MM_IS_AUTH_REQUEST (self), MM_AUTH_RESULT_UNKNOWN);
-
- return MM_AUTH_REQUEST_GET_PRIVATE (self)->result;
-}
-
-void
-mm_auth_request_set_result (MMAuthRequest *self, MMAuthResult result)
-{
- g_return_if_fail (self != NULL);
- g_return_if_fail (MM_IS_AUTH_REQUEST (self));
- g_return_if_fail (result != MM_AUTH_RESULT_UNKNOWN);
-
- MM_AUTH_REQUEST_GET_PRIVATE (self)->result = result;
-}
-
-gboolean
-mm_auth_request_authenticate (MMAuthRequest *self, GError **error)
-{
- return MM_AUTH_REQUEST_GET_CLASS (self)->authenticate (self, error);
-}
-
-void
-mm_auth_request_callback (MMAuthRequest *self)
-{
- MMAuthRequestPrivate *priv;
-
- g_return_if_fail (self != NULL);
- g_return_if_fail (MM_IS_AUTH_REQUEST (self));
-
- priv = MM_AUTH_REQUEST_GET_PRIVATE (self);
- g_warn_if_fail (priv->result != MM_AUTH_RESULT_UNKNOWN);
-
- if (priv->callback)
- priv->callback (self, priv->owner, priv->context, priv->callback_data);
-}
-
-void
-mm_auth_request_dispose (MMAuthRequest *self)
-{
- g_return_if_fail (self != NULL);
- g_return_if_fail (MM_IS_AUTH_REQUEST (self));
-
- if (MM_AUTH_REQUEST_GET_CLASS (self)->dispose)
- MM_AUTH_REQUEST_GET_CLASS (self)->dispose (self);
-}
-
-/*****************************************************************************/
-
-static gboolean
-real_authenticate (MMAuthRequest *self, GError **error)
-{
- /* Null auth; everything passes */
- mm_auth_request_set_result (self, MM_AUTH_RESULT_AUTHORIZED);
- g_signal_emit_by_name (self, "result");
- return TRUE;
-}
-
-/*****************************************************************************/
-
-static void
-mm_auth_request_init (MMAuthRequest *self)
-{
-}
-
-static void
-dispose (GObject *object)
-{
- MMAuthRequestPrivate *priv = MM_AUTH_REQUEST_GET_PRIVATE (object);
-
- g_free (priv->auth);
-
- G_OBJECT_CLASS (mm_auth_request_parent_class)->dispose (object);
-}
-
-static void
-mm_auth_request_class_init (MMAuthRequestClass *class)
-{
- GObjectClass *object_class = G_OBJECT_CLASS (class);
-
- mm_auth_request_parent_class = g_type_class_peek_parent (class);
- g_type_class_add_private (class, sizeof (MMAuthRequestPrivate));
-
- /* Virtual methods */
- object_class->dispose = dispose;
- class->authenticate = real_authenticate;
-
- g_signal_new ("result",
- G_OBJECT_CLASS_TYPE (object_class),
- G_SIGNAL_RUN_FIRST,
- 0, NULL, NULL,
- g_cclosure_marshal_VOID__VOID,
- G_TYPE_NONE, 0, G_TYPE_NONE);
-}