Bug 77190

Summary: [next] make TpGroupMixin GVariant-based
Product: Telepathy Reporter: Simon McVittie <smcv>
Component: tp-glibAssignee: Simon McVittie <smcv>
Status: RESOLVED FIXED QA Contact: Telepathy bugs list <telepathy-bugs>
Severity: normal    
Priority: medium CC: guillaume.desmottes, xclaesse
Version: git masterKeywords: patch
Hardware: Other   
OS: All   
Whiteboard: review+
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 68661, 76369    
Attachments: [tp-glib next 1/2] tp_group_mixin_get_members etc.: remove accessors for members
[tp-glib next 2/2] tp_group_mixin_change_members: take a GVariant for the details
[idle next] Adapt for GVariant-based tp_group_mixin_change_members

Description Simon McVittie 2014-04-08 17:42:21 UTC
+++ This bug was initially created as a clone of Bug #76369 +++

We should make sure that dbus-glib isn't exposed in our high-level API.

TpGroupMixin uses a lot of GArray<guint> which is not ideal, but livable-with.

tp_group_mixin_get_local_pending_members_with_info returns some weird dbus-glib thing.

tp_group_mixin_change_members takes a dbus-glib a{sv}.

tp_group_mixin_add_handle_owners is acceptable, I think.
Comment 1 Simon McVittie 2014-04-09 18:16:41 UTC
Created attachment 97151 [details] [review]
[tp-glib next 1/2] tp_group_mixin_get_members etc.: remove accessors for  members

tp_group_mixin_get_local_pending_members_with_info() uses a dbus-glib
data type, and none of these are actually used in the five core CMs
(they all track members separately in any case).
Make them private if used in the implementation, or remove them entirely.

---

Also available in <http://cgit.freedesktop.org/~smcv/telepathy-glib/log?h=group-mixin>; based on patches from Bug #77188, but could be rebased.
Comment 2 Simon McVittie 2014-04-09 18:17:03 UTC
Created attachment 97152 [details] [review]
[tp-glib next 2/2] tp_group_mixin_change_members: take a GVariant for the  details
Comment 3 Simon McVittie 2014-04-09 18:23:13 UTC
Created attachment 97153 [details] [review]
[idle next] Adapt for GVariant-based tp_group_mixin_change_members

This means we need GLib 2.40 for GVariantDict. Enable GLib 2.28
deprecations, but not 2.30 because we still use GValueArray.

---

Salut needs a similar patch.

Haze and Rakia do not need changes: they do not have chatrooms.

Gabble needs a similar patch; I also bumped the "ignore deprecations since" version up to 2.40, since the only code change required for that was removing a bunch of g_type_init().
Comment 4 Xavier Claessens 2014-04-09 20:12:53 UTC
+1
Comment 5 Simon McVittie 2014-04-10 12:52:42 UTC
0.99.11

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.