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

Attachment: pgpcw9WPekZrO.pgp
Description: PGP signature


_______________________________________________
geda-dev mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-dev

Reply via email to