summaryrefslogtreecommitdiff
path: root/src/daemon/plugins/gsignond-plugin-remote.c
diff options
context:
space:
mode:
authorAmarnath Valluri <amarnath.valluri@linux.intel.com>2013-08-22 15:27:24 +0300
committerAmarnath Valluri <amarnath.valluri@linux.intel.com>2013-08-22 16:59:26 +0300
commit1fd618eee96db111f3eea0806eccb8cf2ad91106 (patch)
treea5536e388228a0a1e51ffe8a49e0fc007d0074da /src/daemon/plugins/gsignond-plugin-remote.c
parente9a79beef3cd891ac16bae05a28c91c613df6442 (diff)
downloadgsignond-1fd618eee96db111f3eea0806eccb8cf2ad91106.tar.gz
gsignond-1fd618eee96db111f3eea0806eccb8cf2ad91106.tar.bz2
gsignond-1fd618eee96db111f3eea0806eccb8cf2ad91106.zip
Diffstat (limited to 'src/daemon/plugins/gsignond-plugin-remote.c')
-rw-r--r--src/daemon/plugins/gsignond-plugin-remote.c23
1 files changed, 16 insertions, 7 deletions
diff --git a/src/daemon/plugins/gsignond-plugin-remote.c b/src/daemon/plugins/gsignond-plugin-remote.c
index 6953057..7d6291a 100644
--- a/src/daemon/plugins/gsignond-plugin-remote.c
+++ b/src/daemon/plugins/gsignond-plugin-remote.c
@@ -444,6 +444,7 @@ static void
gsignond_plugin_remote_request_initial (
GSignondPlugin *plugin,
GSignondSessionData *session_data,
+ GSignondDictionary *identity_method_cache,
const gchar *mechanism)
{
g_return_if_fail (session_data && plugin &&
@@ -451,8 +452,16 @@ gsignond_plugin_remote_request_initial (
GSignondPluginRemote *self = GSIGNOND_PLUGIN_REMOTE (plugin);
GVariant *data = gsignond_dictionary_to_variant (session_data);
+ GVariant *cache;
+ if (identity_method_cache)
+ cache = gsignond_dictionary_to_variant (identity_method_cache);
+ else {
+ GSignondDictionary* empty_cache = gsignond_dictionary_new();
+ cache = gsignond_dictionary_to_variant (empty_cache);
+ gsignond_dictionary_unref(empty_cache);
+ }
gsignond_dbus_remote_plugin_call_request_initial (
- self->priv->dbus_plugin_proxy, data, mechanism, NULL,
+ self->priv->dbus_plugin_proxy, data, cache, mechanism, NULL,
_request_initial_async_cb, self);
}
@@ -514,7 +523,7 @@ gsignond_plugin_remote_user_action_finished (
GSIGNOND_IS_PLUGIN_REMOTE (plugin));
GSignondPluginRemote *self = GSIGNOND_PLUGIN_REMOTE (plugin);
- GVariant *data = gsignond_signonui_data_to_variant (signonui_data);
+ GVariant *data = gsignond_dictionary_to_variant (signonui_data);
gsignond_dbus_remote_plugin_call_user_action_finished (
self->priv->dbus_plugin_proxy, data, NULL,
_user_action_finished_async_cb, self);
@@ -546,7 +555,7 @@ gsignond_plugin_remote_refresh (
GSIGNOND_IS_PLUGIN_REMOTE (plugin));
GSignondPluginRemote *self = GSIGNOND_PLUGIN_REMOTE (plugin);
- GVariant *data = gsignond_signonui_data_to_variant (signonui_data);
+ GVariant *data = gsignond_dictionary_to_variant (signonui_data);
gsignond_dbus_remote_plugin_call_refresh (
self->priv->dbus_plugin_proxy, data, NULL, _refresh_async_cb, self);
}
@@ -624,9 +633,9 @@ _user_action_required_cb (
g_return_if_fail (self && GSIGNOND_IS_PLUGIN_REMOTE (self));
GSignondSignonuiData *data = (GSignondSignonuiData *)
- gsignond_signonui_data_new_from_variant (ui_data);
+ gsignond_dictionary_new_from_variant (ui_data);
gsignond_plugin_user_action_required (GSIGNOND_PLUGIN(self), data);
- gsignond_signonui_data_unref (data);
+ gsignond_dictionary_unref (data);
}
static void
@@ -638,9 +647,9 @@ _refreshed_cb(
g_return_if_fail (self && GSIGNOND_IS_PLUGIN_REMOTE (self));
GSignondSignonuiData *data = (GSignondSignonuiData *)
- gsignond_signonui_data_new_from_variant (ui_data);
+ gsignond_dictionary_new_from_variant (ui_data);
gsignond_plugin_refreshed (GSIGNOND_PLUGIN(self), data);
- gsignond_signonui_data_unref (data);
+ gsignond_dictionary_unref (data);
}
static void