summaryrefslogtreecommitdiff
path: root/telepathy-glib/connection.c
diff options
context:
space:
mode:
authorGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-03 12:48:10 +0100
committerGuillaume Desmottes <guillaume.desmottes@collabora.co.uk>2011-11-04 15:08:39 +0100
commit45b8e51b72b95646ad855807d0b0f9d89737edf1 (patch)
treed1cb868bd2228a633e458253f595e24ed0eeeca4 /telepathy-glib/connection.c
parent252e1801e2f781a0ec8f3732a878fa87cef8402f (diff)
downloadtelepathy-glib-45b8e51b72b95646ad855807d0b0f9d89737edf1.tar.gz
Add TP_CONNECTION_FEATURE_CONTACT_LIST_PROPERTIES
This feature is now a dependency on TP_CONNECTION_FEATURE_CONTACT_LIST so it will be automatically prepared when preparing TP_CONNECTION_FEATURE_CONTACT_LIST (so we don't break existing code) https://bugs.freedesktop.org/show_bug.cgi?id=42546
Diffstat (limited to 'telepathy-glib/connection.c')
-rw-r--r--telepathy-glib/connection.c24
1 files changed, 20 insertions, 4 deletions
diff --git a/telepathy-glib/connection.c b/telepathy-glib/connection.c
index 82220e4a7..dbbe24a79 100644
--- a/telepathy-glib/connection.c
+++ b/telepathy-glib/connection.c
@@ -1608,6 +1608,7 @@ enum {
FEAT_CONTACT_INFO,
FEAT_BALANCE,
FEAT_CONTACT_LIST,
+ FEAT_CONTACT_LIST_PROPS,
FEAT_CONTACT_GROUPS,
FEAT_CONTACT_BLOCKING,
N_FEAT
@@ -1624,6 +1625,7 @@ tp_connection_list_features (TpProxyClass *cls G_GNUC_UNUSED)
static GQuark need_contact_list[3] = {0, 0, 0};
static GQuark need_contact_groups[2] = {0, 0};
static GQuark need_contact_blocking[2] = {0, 0};
+ static GQuark depends_contact_list[2] = {0, 0};
if (G_LIKELY (features[0].name != 0))
return features;
@@ -1661,6 +1663,12 @@ tp_connection_list_features (TpProxyClass *cls G_GNUC_UNUSED)
need_contact_list[0] = TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACT_LIST;
need_contact_list[1] = TP_IFACE_QUARK_CONNECTION_INTERFACE_CONTACTS;
features[FEAT_CONTACT_LIST].interfaces_needed = need_contact_list;
+ depends_contact_list[0] = TP_CONNECTION_FEATURE_CONTACT_LIST_PROPERTIES;
+ features[FEAT_CONTACT_LIST].depends_on = depends_contact_list;
+
+ features[FEAT_CONTACT_LIST_PROPS].name = TP_CONNECTION_FEATURE_CONTACT_LIST_PROPERTIES;
+ features[FEAT_CONTACT_LIST_PROPS].prepare_async = _tp_connection_prepare_contact_list_props_async;
+ features[FEAT_CONTACT_LIST_PROPS].interfaces_needed = need_contact_list;
features[FEAT_CONTACT_GROUPS].name = TP_CONNECTION_FEATURE_CONTACT_GROUPS;
features[FEAT_CONTACT_GROUPS].prepare_async = _tp_connection_prepare_contact_groups_async;
@@ -1950,7 +1958,9 @@ tp_connection_class_init (TpConnectionClass *klass)
* The progress made in retrieving the contact list.
*
* For this property to be valid, you must first call
- * tp_proxy_prepare_async() with the feature %TP_CONNECTION_FEATURE_CONTACT_LIST.
+ * tp_proxy_prepare_async() with the feature
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST_PROPERTIES or
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST.
*
* Since: 0.15.5
*/
@@ -1970,7 +1980,9 @@ tp_connection_class_init (TpConnectionClass *klass)
* If false, presence subscriptions on this connection are not stored.
*
* For this property to be valid, you must first call
- * tp_proxy_prepare_async() with the feature %TP_CONNECTION_FEATURE_CONTACT_LIST.
+ * tp_proxy_prepare_async() with the feature
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST_PROPERTIES or
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST.
*
* Since: 0.15.5
*/
@@ -1991,7 +2003,9 @@ tp_connection_class_init (TpConnectionClass *klass)
* the local subnet, so the user cannot control their presence publication.
*
* For this property to be valid, you must first call
- * tp_proxy_prepare_async() with the feature %TP_CONNECTION_FEATURE_CONTACT_LIST.
+ * tp_proxy_prepare_async() with the feature
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST_PROPERTIES or
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST.
*
* Since: 0.15.5
*/
@@ -2012,7 +2026,9 @@ tp_connection_class_init (TpConnectionClass *klass)
* suitable default.
*
* For this property to be valid, you must first call
- * tp_proxy_prepare_async() with the feature %TP_CONNECTION_FEATURE_CONTACT_LIST.
+ * tp_proxy_prepare_async() with the feature
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST_PROPERTIES or
+ * %TP_CONNECTION_FEATURE_CONTACT_LIST.
*
* Since: 0.15.5
*/