[Bug 55104] Provide GVariant-based access to TpCallChannel:state-details
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Thu Mar 6 04:29:15 PST 2014
https://bugs.freedesktop.org/show_bug.cgi?id=55104
--- Comment #7 from Simon McVittie <simon.mcvittie at collabora.co.uk> ---
(In reply to comment #5)
> > Any thoughts on whether to squash the variant, or maybe even the state and
> > flags too, into the TpCallStateReason (with a rename to ...StateDetails or
> > something if it gains the state and flags)?
>
> If we're fine with loosing the coupling with
> http://telepathy.freedesktop.org/spec/Channel_Type_Call.html#Property:
> CallStateReason yeah I think that's fine.
(Not done in the branch I reviewed.)
CallStateReason appears to be used for both CallStateChanged (where it's
emitted alongside the state, flags and a{sv} details), and ContentRemoved
(where there are no further details).
I started to write "I wonder whether we should have individual getters for all
the bits and pieces?" but that would be a really annoying API. I think state
and flags as individual getters make sense, but the various reason codes should
really be bundled together, so advanced UIs can do the usual Telepathy
"string-match D-Bus errors, fall back to switch() on error codes" dance.
I think normally we'd have a getter with multiple "out" values, but then we'd
have difficulty putting it in a signal.
I notice with annoyance that we have both Call_State_Reason.Message and
CallStateDetails["debug-message"], which appear to be 100% redundant - in 1.0
we should drop one of them, and if the one we keep is
Call_State_Reason.Message, put a note in CallStateDetails that says "note that
maps like this in Telepathy usually have a "debug-message" key, but in Call1
the same information goes in Call_State_Reason.Message".
I wonder whether it would make most sense to turn Call_State_Reason from a
(uuss) to a (uussa{sv}) (or perhaps (uusas{sv}) if we keep "debug-message" but
not Message), so we're able to have extensible details in CallMembersChanged
and ContentRemoved, not just in CallStateChanged?
I also think that if this thing is going to be C API, we should expose its ref
and unref functions.
> > I would like to at least add some ABI padding to the TpCallStateReason.
>
> Done.
Looks good for merge, while we think about the issue above.
--
You are receiving this mail because:
You are the QA Contact for the bug.
You are the assignee for the bug.
More information about the telepathy-bugs
mailing list