[Telepathy] Uniqueness of objects

Olli Salli ollisal at gmail.com
Fri Oct 3 03:12:18 PDT 2008


On Thu, Oct 2, 2008 at 6:08 PM, Dafydd Harries
<dafydd.harries at collabora.co.uk> wrote:
> Ar 02/10/2008 am 17:04, ysgrifennodd mikhail.zabaluev at nokia.com:
>> Hi,
>>
>> >-----Original Message-----
>> >From: telepathy-bounces at lists.freedesktop.org
>> >[mailto:telepathy-bounces at lists.freedesktop.org] On Behalf Of
>> >ext Dafydd Harries
>> >Sent: Thursday, October 02, 2008 4:59 PM
>> >To: telepathy at lists.freedesktop.org
>> >Subject: Re: [Telepathy] Uniqueness of objects
>> >
>> >What's the problem with doing reference counting on the client
>> >side, and
>> >mapping the 0->1 refs boundary to HoldHandles and the 1->0
>> >refs boundary to
>> >ReleaseHandles?
>>
>> That's certainly possible. There's only the problem of two Telepathy client stacks in one process using the same DBus connection unbeknownst to each other. Which is considered a freak circus for purposes of this thread.
>
> Surely the solution is not to use the same D-Bus connection.
>
> --
> Dafydd
> _______________________________________________
> Telepathy mailing list
> Telepathy at lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/telepathy
>

Yeah,

in fact, QDBus already does dbus_bus_get_private to get one instance
of a DBusConnection for the session, system and starter buses, and
shares that between all users of QDBusConnection::sessionBus() etc.
Therefore, the connection is never shared with anything not using
QDBus to get its connections. However, using some other QDBus-using
Telepathy wrapper API not going through TpQt4 refcounting services
WILL break the scheme. Think current Tapioca. However ideally, such
things shouldn't need to exist in the future.

Some wizardry certainly needs to be performed even inside TelepathyQt4
to prevent using multiple Connection objects associated with the same
remote connection - namely, not keeping the reference counter inside a
single Connection object, but share it between Connections using a
(bus uuid, remote conn service name) -> refcounter mapping.

-- 

Br,
Olli Salli


More information about the Telepathy mailing list