[Bug 28155] New: TpBaseClient should be able to unregister itself

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Tue May 18 12:52:54 CEST 2010


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

           Summary: TpBaseClient should be able to unregister itself
           Product: Telepathy
           Version: git master
          Platform: Other
        OS/Version: All
            Status: NEW
          Severity: normal
          Priority: medium
         Component: tp-glib
        AssignedTo: guillaume.desmottes at collabora.co.uk
        ReportedBy: simon.mcvittie at collabora.co.uk
         QAContact: telepathy-bugs at lists.freedesktop.org


tp_base_client_register() takes a bus name and registers the Client on D-Bus.
However, having done this, there's no way to revoke it.

Relatedly, dispose() does not release the bus name (although dbus-glib will
remove the TpBaseClient from the object path automatically), which makes this a
bug rather than merely a missing feature.

I propose this API:

/**
 * tp_base_client_unregister:
 * @self: a client, which may already have been registered with
 *  tp_base_client_register(), or not
 *
 * Remove this client object from D-Bus, if tp_base_client_register()
 * has already been called.
 *
 * If the object is not registered, this method may be called, but has
 * no effect.
 *
 * Releasing the last reference to the object also has the same effect
 * as calling this method, but this method should be preferred, as it
 * has more deterministic behaviour.
 *
 * If the object still exists, tp_base_client_register() may be used to
 * attempt to register it again.
 */
void tp_base_client_unregister (TpBaseClient *self);

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