[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