[Bug 27835] New: Avoid being notified about Connection features nobody cares about
bugzilla-daemon at freedesktop.org
bugzilla-daemon at freedesktop.org
Mon Apr 26 15:43:13 CEST 2010
https://bugs.freedesktop.org/show_bug.cgi?id=27835
Summary: Avoid being notified about Connection features nobody
cares about
Product: Telepathy
Version: git master
Platform: Other
OS/Version: All
Status: ASSIGNED
Keywords: patch
Severity: enhancement
Priority: medium
Component: tp-spec
AssignedTo: simon.mcvittie at collabora.co.uk
ReportedBy: simon.mcvittie at collabora.co.uk
QAContact: telepathy-bugs at lists.freedesktop.org
CC: sjoerd at luon.net, nicolas.dufresne at collabora.co.uk
MailNotification defines Subscribe and Unsubscribe methods to avoid doing lots
of work (and network traffic) if no currently-running client actually cares
about mail notifications.
Location doesn't do that, but it should, to avoid being spammed with Azimuth
users' locations if no UI is actually displaying them. (Azimuth is an N900 app
which advertises Location via Telepathy.)
Also, the Subscribe and Unsubscribe methods' names are horribly generic,
causing problems for bindings that don't namespace things properly.
I propose to add AddClientInterest and RemoveClientInterest methods to the
Connection, which would obsolete those methods and be usable for general
interfaces. Here's the HTML:
http://people.freedesktop.org/~smcv/telepathy-spec-client_interests/spec/org.freedesktop.Telepathy.Connection.html#org.freedesktop.Telepathy.Connection.AddClientInterest
http://people.freedesktop.org/~smcv/telepathy-spec-client_interests/spec/org.freedesktop.Telepathy.Connection.html#org.freedesktop.Telepathy.Connection.RemoveClientInterest
http://people.freedesktop.org/~smcv/telepathy-spec-client_interests/spec/org.freedesktop.Telepathy.Connection.Interface.Location.html
(see last paragraphs of: Description, GetLocations and /location)
http://people.freedesktop.org/~smcv/telepathy-spec-client_interests/spec/org.freedesktop.Telepathy.Connection.Interface.MailNotification.DRAFT.html
(see Description, Subscribe, Unsubscribe)
ACI, RCI could go in Connection.FUTURE if we want to try them out, but to be
particularly useful they need implementing in telepathy-glib anyway.
Proposed telepathy-glib API:
* implement ACI, RCI unconditionally
* have an API in TpBaseConnectionClass to declare which interfaces need to
track "interest counts"
* have an API for Location to call: void tp_base_connection_add_client_interest
(TpBaseConnection *, const gchar *unique_name, const gchar *interface);
* emit signals TpBaseConnection::clients-interested::$INTERFACE,
TpBaseConnection::clients-uninterested::$INTERFACE on transitions between 0 and
1 total interest (we'd have to check that all D-Bus interface name characters
are allowed in a signal detail)
--
Configure bugmail: https://bugs.freedesktop.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
More information about the telepathy-bugs
mailing list