[Pkg-telepathy-commits] [telepathy-glib-1] 130/212: TpObserveChannelContext:observer-info: change type to GVariant
Simon McVittie
smcv at debian.org
Wed May 14 12:09:05 UTC 2014
This is an automated email from the git hooks/post-receive script.
smcv pushed a commit to branch debian
in repository telepathy-glib-1.
commit 768caa0e6f72fd2ff2826ff6b165abea7a4fcbcd
Author: Simon McVittie <simon.mcvittie at collabora.co.uk>
Date: Mon Apr 7 14:10:47 2014 +0100
TpObserveChannelContext:observer-info: change type to GVariant
Bug: https://bugs.freedesktop.org/show_bug.cgi?id=77139
Reviewed-by: Xavier Claessens
---
telepathy-glib/base-client.c | 3 ++-
telepathy-glib/observe-channel-context-internal.h | 4 +--
telepathy-glib/observe-channel-context.c | 31 +++++++++++------------
tests/lib/simple-client.c | 6 ++---
4 files changed, 22 insertions(+), 22 deletions(-)
diff --git a/telepathy-glib/base-client.c b/telepathy-glib/base-client.c
index 686e6c0..b3b4d3a 100644
--- a/telepathy-glib/base-client.c
+++ b/telepathy-glib/base-client.c
@@ -1727,7 +1727,8 @@ _tp_base_client_observe_channel (TpSvcClientObserver *iface,
}
ctx = _tp_observe_channel_context_new (account, connection, channel,
- dispatch_operation, requests, observer_info, context);
+ dispatch_operation, requests, tp_asv_to_vardict (observer_info),
+ context);
account_features = dup_features_for_account (self, account);
connection_features = dup_features_for_connection (self, connection);
diff --git a/telepathy-glib/observe-channel-context-internal.h b/telepathy-glib/observe-channel-context-internal.h
index 3f5d748..d28efd8 100644
--- a/telepathy-glib/observe-channel-context-internal.h
+++ b/telepathy-glib/observe-channel-context-internal.h
@@ -48,7 +48,7 @@ struct _TpObserveChannelContext {
TpChannelDispatchOperation *dispatch_operation;
/* Array of reffed TpChannelRequest */
GPtrArray *requests;
- GHashTable *observer_info;
+ GVariant *observer_info;
};
TpObserveChannelContext * _tp_observe_channel_context_new (
@@ -57,7 +57,7 @@ TpObserveChannelContext * _tp_observe_channel_context_new (
TpChannel *channel,
TpChannelDispatchOperation *dispatch_operation,
GPtrArray *requests,
- GHashTable *observer_info,
+ GVariant *observer_info,
GDBusMethodInvocation *dbus_context);
TpObserveChannelContextState _tp_observe_channel_context_get_state (
diff --git a/telepathy-glib/observe-channel-context.c b/telepathy-glib/observe-channel-context.c
index 5b74a4b..21b55cc 100644
--- a/telepathy-glib/observe-channel-context.c
+++ b/telepathy-glib/observe-channel-context.c
@@ -145,11 +145,7 @@ tp_observe_channel_context_dispose (GObject *object)
self->requests = NULL;
}
- if (self->observer_info != NULL)
- {
- g_hash_table_unref (self->observer_info);
- self->observer_info = NULL;
- }
+ g_clear_pointer (&self->observer_info, g_variant_unref);
if (self->priv->result != NULL)
{
@@ -187,7 +183,7 @@ tp_observe_channel_context_get_property (GObject *object,
g_value_set_boxed (value, self->requests);
break;
case PROP_OBSERVER_INFO:
- g_value_set_boxed (value, self->observer_info);
+ g_value_set_variant (value, self->observer_info);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -225,7 +221,7 @@ tp_observe_channel_context_set_property (GObject *object,
self->priv->dbus_context = g_value_get_pointer (value);
break;
case PROP_OBSERVER_INFO:
- self->observer_info = g_value_dup_boxed (value);
+ self->observer_info = g_value_dup_variant (value);
break;
default:
G_OBJECT_WARN_INVALID_PROPERTY_ID (object, property_id, pspec);
@@ -374,19 +370,17 @@ tp_observe_channel_context_class_init (TpObserveChannelContextClass *cls)
/**
* TpObserveChannelContext:observer-info:
*
- * A #GHashTable where the keys are string and values are GValue instances.
+ * A %G_VARIANT_TYPE_VARDICT.
* It represents the Observer_Info hash table that has been passed to
* ObserveChannels.
* It's recommended to use high-level method such as
* tp_observe_channel_context_is_recovering() to access to its content.
*
- * This property can't be %NULL.
- *
- * Since: 0.11.5
+ * This property can't be %NULL at runtime.
*/
- param_spec = g_param_spec_boxed ("observer-info", "Observer info",
+ param_spec = g_param_spec_variant ("observer-info", "Observer info",
"The Observer_Info that has been passed to ObserveChannels",
- TP_HASH_TYPE_STRING_VARIANT_MAP,
+ G_VARIANT_TYPE_VARDICT, NULL,
G_PARAM_READWRITE | G_PARAM_CONSTRUCT_ONLY | G_PARAM_STATIC_STRINGS);
g_object_class_install_property (object_class, PROP_OBSERVER_INFO,
param_spec);
@@ -399,10 +393,13 @@ _tp_observe_channel_context_new (
TpChannel *channel,
TpChannelDispatchOperation *dispatch_operation,
GPtrArray *requests,
- GHashTable *observer_info,
+ GVariant *observer_info,
GDBusMethodInvocation *dbus_context)
{
- return g_object_new (TP_TYPE_OBSERVE_CHANNELS_CONTEXT,
+ TpObserveChannelContext *self;
+
+ g_variant_ref_sink (observer_info);
+ self = g_object_new (TP_TYPE_OBSERVE_CHANNELS_CONTEXT,
"account", account,
"connection", connection,
"channel", channel,
@@ -411,6 +408,8 @@ _tp_observe_channel_context_new (
"observer-info", observer_info,
"dbus-context", dbus_context,
NULL);
+ g_variant_unref (observer_info);
+ return self;
}
/**
@@ -498,7 +497,7 @@ tp_observe_channel_context_is_recovering (TpObserveChannelContext *self)
{
/* tp_asv_get_boolean returns FALSE if the key is not set which is what we
* want */
- return tp_asv_get_boolean (self->observer_info, "recovering", NULL);
+ return tp_vardict_get_boolean (self->observer_info, "recovering", NULL);
}
TpObserveChannelContextState
diff --git a/tests/lib/simple-client.c b/tests/lib/simple-client.c
index 8a70ff8..0b48627 100644
--- a/tests/lib/simple-client.c
+++ b/tests/lib/simple-client.c
@@ -34,14 +34,14 @@ simple_observe_channel (
TpObserveChannelContext *context)
{
TpTestsSimpleClient *self = TP_TESTS_SIMPLE_CLIENT (client);
- GHashTable *info;
+ GVariant *info;
gboolean fail;
GList *l;
/* Fail if caller set the fake "FAIL" info */
g_object_get (context, "observer-info", &info, NULL);
- fail = tp_asv_get_boolean (info, "FAIL", NULL);
- g_hash_table_unref (info);
+ fail = tp_vardict_get_boolean (info, "FAIL", NULL);
+ g_variant_unref (info);
if (self->observe_ctx != NULL)
{
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-telepathy/telepathy-glib-1.git
More information about the Pkg-telepathy-commits
mailing list