gEDA-dev: DBUS binding to PCB actions
Peter TB Brett
peter at peter-b.co.uk
Sat Oct 7 12:43:11 EDT 2006
On Saturday 07 October 2006 17:01, John Griessen wrote:
> I say do a simpler custom inter process communication and drop the robust,
> general DBUS because it takes away clarity in the code for future
> developers and maintainers and hacker wannabes like me.
>
> Not that I have contributed code yet, but something like DBUS sounds as
> convoluted and hard to decipher as the time I looked at pcb code 3 years
> ago when it was spaghetti, and couldn't face experimenting with UI changes
> even.
>
Have you read the patch? I ask because the file which implements the D-Bus
functionality - dbus.c - is 166 lines, to make it possible to discover PCB
instances, find out what filenames they've got open and instruct them to call
actions. It's not any more complicated than most GTK+ code is, and you
should be able to pretty much read its behaviour straight off. For an IPC,
the D-Bus API is *very* nice, no matter how bad it might "sound".
I challenge you (or anyone else) to add similar functionality while:
- keeping changes as self-contained
- using less than twice as much additional code
Peter C. and I are working hard to give PCB an interface that can be used to
talk to it quickly and easily. We don't want to have to maintain a huge
chunk of code to do so -- a chunk of code which would almost certainly suffer
heavy feature creep and need quite active maintenance. No matter how often
or loudly people tell us that we should, we're more interested in writing
tools that allow PCB and the rest of the gEDA suite to be used more easily by
more people, and to us it seems that D-Bus is the mechanism that allows us to
do so most easily.
Of course, if someone else is offering to write a home-brewed only-used-in-PCB
IPC system -- and document it, and maintain it, and write a Python binding
for it -- then that would be fantastic, and we'd use it. Or if someone would
like to recommend another third-party IPC library with the power and
flexibility D-Bus provides, perhaps we could use that. Until then, we'll
keep pestering for the D-Bus patch to go in, even if it's only as a Linux &
*BSD-only option.
Looking at the latest xgsch2pcb CVS HEAD, the new D-Bus code has made the part
of the program that talks to PCB so much simpler and easier to understand
that I now can't understand why we even bothered trying to use the --listen
interface.
Cheers,
Peter
P.S. We've started thinking about how (and whether) to make libgeda
D-Bus-aware.
--
Fisher Society committee http://tinyurl.com/o39w2
CUSBC novices, match and league secretary http://tinyurl.com/mwrc9
v3sw6YChw7$ln3pr6$ck3ma8u7+Lw3+2m0l7Ci6e4+8t4Gb8en6g6Pa2Xs5Mr4p4
hackerkey.com peter-b.co.uk
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://www.seul.org/pipermail/geda-dev/attachments/20061007/97c109c1/attachment.pgp
More information about the geda-dev
mailing list