[Bug 28819] Implement Protocol interface support

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Aug 5 20:55:35 CEST 2010


https://bugs.freedesktop.org/show_bug.cgi?id=28819

--- Comment #5 from Olli Salli <ollisal at gmail.com> 2010-08-05 11:55:35 PDT ---
EnglishName and Icon: The spec suggests a client could derive them from the
protocol name if absent or empty, so I'd add this fallback to both
ManagerFile::Private::parse() and
ConnectionManager::Private::ProtocolWrapper::gotMainProperties(). The fact that
the fallback is implemented should also be documented so that client authors
reading the spec don't needlessly duplicate it in their applications. 

The spec leaves the actual mapping open, but I think the only sensible choice
is icon == im-<protocol-name> and english name == <Protocol Name>, eg. for
salut icon == im-local-xmpp and english name == Local Xmpp (sadly the acronym
capitalization can't be correct).

--

ConnectionManager::onProtocolReady(): In the error case I think you should
output the protocol name that errored out and was omitted. Tbh, I'm not sure if
we should just fail the entire CM core introspection if a protocol fails, since
the CM is somehow broken anyway if it can't respond to a simple GetAll on a
protocol object it claims as having. I'm fine with this more lenient behavior
as well though, as long as there's an indication (the warning) to indicate
which protocols got left out, for troubleshooting purposes.

--

ConnectionManager::protocol(): Documentation addition to advise not to delete
++, but shouldn't it return a pointer to const in the first place?

Example for the vcard field could be eg. importing foreign address books
employing vcard-alike formats, to map the contacts therein having eg. jabber
addresses to a jabber account (would work for the simple cases). The vcard
field is also used in some current implementations as the native tp-aware
addressbook field key, but obviously this is not required.

Changing the param name preserves ABI on G++, but generally nothing can be said
as C++ lacks a standard ABI specification :/ However we've generally gone by
the G++ (3.2+) ABI rules, so this change is OK too.

--

Otherwise ++ and a clever (but not too clever :)) implementation! Will review
account-filter-by-rcc next (tomorrow).

-- 
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