[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