[Bug 32125] Should support auth using captcha

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Feb 9 11:22:46 CET 2012


--- Comment #30 from Simon McVittie <simon.mcvittie at collabora.co.uk> 2012-02-09 02:22:46 PST ---
(In reply to comment #21)
> Attached comes a patch to tp-qt to support PropertiesChanged.

I don't think this blocks an initial implementation of captchas: at the spec
design stage we only need to know that it's possible, we don't necessarily need
to get it into a library and update that library. (A first Qt client
implementation of captchas could just use QDBusConnection::connect directly, in
the Handler - that's not a high-level API or anything, but it'd work.)

(In reply to comment #22)
> If I understood correctly (please correct me if I am wrong) PropertiesChanged
> is not interface specific, so adding it to AbstractInterface would mean that we
> would need to filter for interface name before emitting
> AbstractInterface::propertiesChanged. It also means we would need to connect to
> the same signal multiple times without any need if we want to handle
> propertiesChanged in multiple interfaces.

PropertiesChanged is emitted from the Properties interface, regardless of the
interface whose properties are changing, but the intention in its design was
that you use a D-Bus match rule containing
arg0="org.freedesktop.Telepathy.Channel.Interface.CaptchaAuthentication" (or
whatever) to listen for it, which makes it interface-specific again.

Unfortunately, QDBusConnection::connect doesn't seem to support arg0-matching
in match rules yet... so unless/until it does, yes, you'll have to filter

Connecting to the signal multiple times isn't really going to be significantly
more expensive than connecting once, unless QtDBus' data structures are less
efficient than I thought: the underlying D-Bus message is only delivered once,
and QtDBus will call all the slots to which it's relevant.

If QtDBus is ever going to support arg0 match rules, we should be careful that
the telepathy-qt API we provide for this doesn't rule out making use of them to
avoid unnecessary message delivery (so the API should look like "subscribe to
PropertiesChanged for interface X on this Tp::DBusProxy", not "subscribe to
PropertiesChanged on this whole Tp::DBusProxy").

> - Tp::DBusProxy inherits Tp::Object that has a notify/propertyChanged mechanism
> (for Qt properties). So if adding to DBusProxy, we should probably name it
> something like dbusPropertiesChanged instead of propertiesChanged.

That's a good point though, perhaps you should do that rename anyway.

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