aboutsummaryrefslogtreecommitdiff
path: root/src/mm-auth-provider-polkit.c
diff options
context:
space:
mode:
authorAleksander Morgado <aleksander@gnu.org>2011-09-02 20:28:12 +0200
committerAleksander Morgado <aleksander@lanedo.com>2012-03-15 14:14:19 +0100
commitd47176a32c45da0f63ec5ab8024cf4e5f6467a7f (patch)
tree3914d9064c045e606d2da23eff392dbf9af43ea5 /src/mm-auth-provider-polkit.c
parent1e79a2d292e7e68430043d9741bfbbe01cd3206f (diff)
core: avoid using DBusGMethodInvocation in auth API
While porting to GDBus, use opaque pointers. This allows us to include either a DBusGMethodInvocation or a GDBusMethodInvocation in the 'context' pointer. Once fully ported to GDBus, we can safely change it back to make the context be a GDBusMethodInvocation.
Diffstat (limited to 'src/mm-auth-provider-polkit.c')
-rw-r--r--src/mm-auth-provider-polkit.c29
1 files changed, 21 insertions, 8 deletions
diff --git a/src/mm-auth-provider-polkit.c b/src/mm-auth-provider-polkit.c
index 2cd4a8ab..58550f5b 100644
--- a/src/mm-auth-provider-polkit.c
+++ b/src/mm-auth-provider-polkit.c
@@ -55,20 +55,33 @@ static MMAuthRequest *
real_create_request (MMAuthProvider *provider,
const char *authorization,
GObject *owner,
- DBusGMethodInvocation *context,
+ gpointer context,
MMAuthRequestCb callback,
gpointer callback_data,
GDestroyNotify notify)
{
MMAuthProviderPolkitPrivate *priv = MM_AUTH_PROVIDER_POLKIT_GET_PRIVATE (provider);
+ MMAuthRequest *auth_request;
+ gchar *sender;
- return (MMAuthRequest *) mm_auth_request_polkit_new (priv->authority,
- authorization,
- owner,
- context,
- callback,
- callback_data,
- notify);
+ /* Ugly temporary hack... */
+ if (G_IS_DBUS_METHOD_INVOCATION (context)) {
+ sender = g_strdup (g_dbus_method_invocation_get_sender (context));
+ } else {
+ sender = dbus_g_method_get_sender (context);
+ }
+
+ auth_request = (MMAuthRequest *)mm_auth_request_polkit_new (priv->authority,
+ authorization,
+ owner,
+ context,
+ sender,
+ callback,
+ callback_data,
+ notify);
+ g_free (sender);
+
+ return auth_request;
}
/*****************************************************************************/