[Bug 30296] Add Addressing support to Gabble
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Tue Sep 28 21:21:27 CEST 2010
https://bugs.freedesktop.org/show_bug.cgi?id=30296
--- Comment #5 from Eitan Isaacson <eitan.isaacson at collabora.co.uk> 2010-09-28 12:21:26 PDT ---
(In reply to comment #3)
> This is going to be a pretty immense comment. :) First up, general comments on
> the design and your points above:
>
> I agree that most of this should live in telepathy-glib, as you say. I like the
> design here a lot: it makes me happy that the changes to channel (manager)
> implementations were pretty small.
>
They would be even smaller in the future if more channels derived from
TpBaseChannel.
> For channel requests: one other tactic we could use would be to make
> telepathy-glib's Requests infrastructure transform target addresses/URIs to
> TargetHandle internally, just like it already transforms TargetID to
> TargetHandle internally. This would do the job for Gabble at least;]
>
Yup, that is where it belongs...
Also, TpDynamicHandleRepo should probably be extended to handle addressing, and
TpHandleRepoIface should have addressing virtual methods. Brothers and sisters
to tp_handle_(lookup/ensure) and tp_handle_inspect.
> Regarding static arrays of interfaces: one possible other way to deal with this
> I noticed in telepathy-ring is to have #defines that expand to a bunch of
> standard allowed properties/interfaces. Then we could easily define three
> different arrays of properties rather than having to do these error-prone
> offset tricks.
I have noticed that you really enjoy preprocessor Jedi mind tricks :)
I'll try to think up a macro, but feel free to come up with something. It's not
my strong card.
>
> The RCC explosion is a bit surprising, but I don't think it's actively bad. The
> test situation is a pain, though. I saw you changed some assertLength(1, ...)s
> to assertLength(4, ..)... I'm not sure how best we should deal with this.
>
> ‘...using the addressing bits for
> requests requires handle type to be omitted.’: i think that's fine. you might
> not know up-front what handle type the URI corresponds to. You could have an
> XMPP URI for a MUC. (I don't know if such a beast exists, the internet
> connection here isn't working.)
This is the opposite of what Simon suggests. I kind of like the idea of just
requesting a channel with a URI without any predetermined conception of it
being a user or a group. And then getting the channel and inspecting it's
props. That might not work well with current UIs, and that is probably Simon's
beef.
>
> ===
>
> Here are some nitpicks on the implementation itself:
To follow..
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- 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