[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: DBus Menu in Gtk theme
From: |
Niels Grewe |
Subject: |
Re: DBus Menu in Gtk theme |
Date: |
Mon, 11 Jun 2012 21:31:54 +0200 |
User-agent: |
Mozilla/5.0 (X11; Linux x86_64; rv:10.0.4) Gecko/20120510 Icedove/10.0.4 |
Hi Jamie,
Am 11.06.2012 21:08, schrieb Jamie Ramone:
> Just my 2 cents but wouldn't it be better to integrate DBus awareness
> into the DO related classes (NSConnection, NSDistantObject, etc.) as
> it's basically the same thing but written in C? I recently had to work
> with DBus for the first time a few months ago and was astonished at
> how similar it was to DO, and how it basically duplicated both
> GNUstep's and Apple's effort in object oriented inter-process
> communication, though failing a bit in the transparency dept.
That's not quite true. D-Bus does a few things quite differently, for
example, the name service and the handling of notifications ("signals"
in D-Bus parlance) are quite different, so is the type-system (which,
for instance, does only have a very limited way to reference and pass
objects around) I have a writeup on the differences in the first chapter
of the DBusKit manual.
> So what I'd suggest is adding code to transparently handle communication with
> DBus endpoints (I hesitate to use the word 'object' here).
My personal opinion is that the API in DBusKit is as transparent as is
sensible (though this opinion might be quite biased because I wrote
it…). Setting up a reference to a remote D-Bus object is largely
equivalent to DO:
DKPort *sPort = [[DKPort alloc] initWithRemote: @"org.freedesktop.DBus"
onBus: DKDBusSessionBus]
NSConnection *c = [NSConnection connectionWithReceivePort:
[DKPort sessionBusPort]
sendPort: sPort];
id proxy = [c proxyAtPath: @"/org/freedesktop/DBus"];
[proxy doSomething];
I don't see where the added value of not blurring the distinction
between DO connections and D-Bus connections comes from.
Cheers,
Niels