diff options
author | Xavier Claessens <xavier.claessens@collabora.co.uk> | 2012-09-05 11:15:00 +0200 |
---|---|---|
committer | Xavier Claessens <xavier.claessens@collabora.co.uk> | 2012-09-05 15:51:43 +0200 |
commit | 8f9b57121072744bb57dd4aa801589e156048072 (patch) | |
tree | 440016a1f14c9502cd3c6436850bf21872517932 | |
parent | 8a628bd8efeee4fe359a72cf56bdde6350c024dc (diff) |
TpContact: Deprecate _get_ functions returning a GList and replace them by _dup_
New transfer and naming policy has been discussed in
https://bugs.freedesktop.org/show_bug.cgi?id=39189 and is
documented there: http://telepathy.freedesktop.org/wiki/Style/TelepathyGLib
-rw-r--r-- | docs/reference/telepathy-glib-sections.txt | 1 | ||||
-rw-r--r-- | telepathy-glib/contact.c | 25 | ||||
-rw-r--r-- | telepathy-glib/contact.h | 6 |
3 files changed, 32 insertions, 0 deletions
diff --git a/docs/reference/telepathy-glib-sections.txt b/docs/reference/telepathy-glib-sections.txt index 7c91be284..a9456221d 100644 --- a/docs/reference/telepathy-glib-sections.txt +++ b/docs/reference/telepathy-glib-sections.txt @@ -4992,6 +4992,7 @@ tp_contact_get_presence_type tp_contact_get_location tp_contact_get_capabilities tp_contact_get_contact_info +tp_contact_dup_contact_info tp_contact_is_blocked tp_contact_request_contact_info_async tp_contact_request_contact_info_finish diff --git a/telepathy-glib/contact.c b/telepathy-glib/contact.c index 2827dec8b..ea2c178a7 100644 --- a/telepathy-glib/contact.c +++ b/telepathy-glib/contact.c @@ -609,6 +609,8 @@ tp_contact_get_capabilities (TpContact *self) * a #GList of #TpContactInfoField, or %NULL if the feature is not yet * prepared. * Since: 0.11.7 + * Deprecated: Since 0.UNRELEASED. New code should use + * tp_contact_dup_contact_info() instead. */ GList * tp_contact_get_contact_info (TpContact *self) @@ -619,6 +621,29 @@ tp_contact_get_contact_info (TpContact *self) } /** + * tp_contact_dup_contact_info: + * @self: a #TpContact + * + * Returns a newly allocated #GList of contact's vCard fields. The list must be + * freed with tp_contact_info_list_free() after used. + * + * Same as the #TpContact:contact-info property. + * + * Returns: (element-type TelepathyGLib.ContactInfoField) (transfer full): + * a #GList of #TpContactInfoField, or %NULL if the feature is not yet + * prepared. + * Since: 0.UNRELEASED + */ +GList * +tp_contact_dup_contact_info (TpContact *self) +{ + g_return_val_if_fail (TP_IS_CONTACT (self), NULL); + + return _tp_g_list_copy_deep (self->priv->contact_info, + (GCopyFunc) tp_contact_info_field_copy, NULL); +} + +/** * tp_contact_get_subscribe_state: * @self: a #TpContact * diff --git a/telepathy-glib/contact.h b/telepathy-glib/contact.h index 56355d90d..84b016b26 100644 --- a/telepathy-glib/contact.h +++ b/telepathy-glib/contact.h @@ -106,7 +106,13 @@ GFile *tp_contact_get_avatar_file (TpContact *self); const gchar *tp_contact_get_avatar_mime_type (TpContact *self); /* TP_CONTACT_FEATURE_INFO */ +#ifndef TP_DISABLE_DEPRECATED +_TP_DEPRECATED_IN_0_20_FOR (tp_contact_dup_contact_info) GList *tp_contact_get_contact_info (TpContact *self); +#endif + +_TP_AVAILABLE_IN_0_20 +GList *tp_contact_dup_contact_info (TpContact *self); void tp_contact_request_contact_info_async (TpContact *self, GCancellable *cancellable, GAsyncReadyCallback callback, |