[Bug 27948] New: TpBaseConnection: support AddClientInterest, RemoveClientInterest

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Mon May 3 18:06:48 CEST 2010


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

           Summary: TpBaseConnection: support AddClientInterest,
                    RemoveClientInterest
           Product: Telepathy
           Version: git master
          Platform: Other
               URL: http://git.collabora.co.uk/?p=user/smcv/telepathy-glib
                    -smcv.git;a=shortlog;h=refs/heads/client-interests
        OS/Version: All
            Status: ASSIGNED
          Keywords: patch
          Severity: enhancement
          Priority: medium
         Component: tp-glib
        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
        Depends on: 27835
            Blocks: 13349


+++ This bug was initially created as a clone of Bug #27835 +++

In that bug, I wrote:

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

Here's an implementation of that proposal for pre-review. It can't be merged
until this API is released in telepathy-spec.

Errata:

* tp_base_connection_add_client_interest C API for Location hasn't been added
yet - it can be factored out from the D-Bus version
* The D-Bus methods never fail (I think we should just document this and get on
with our lives - nobody's going to pay attention to what they return 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.



More information about the telepathy-bugs mailing list