gEDA-dev: IPC, HIDs and main loops
Peter TB Brett
peter at peter-b.co.uk
Tue Oct 3 03:34:04 EDT 2006
Hi folks,
One of the little things that Peter C and I are working on is a HID that
adds "proper" IPC support to PCB.
Some of the things we think we can do -- without any direct messing about with
pipes or sockets -- are:
- When PCB starts, check if there are any other instances of PCB running on
the system that have the same layout open and warn the user if there are.
It might be possible to make PCB open the layout read-only and switch to
normal mode when the conflicting instance disappears.
- Allow other programs to call actions and *get return values*. This will
make functionality like we've got in xgsch2pcb a bit easier to implement.
We already have a Python script which implements the basic set of features
we'd like PCB to have, but we're having some difficulty integrating into PCB.
The technology we're using is D-Bus (a freedesktop.org project that both
GNOME and KDE are standardising on for IPC -- moving away from DCOP and
CORBA), and although it's still a little bit "beta" it seems to be quite
nice.
We're having some problems though -- the recommended C bindings for D-Bus
require GLib & GObject, and, more importantly, they require a GLib main loop.
There is a low-level C library, but that's meant only to be used when
implementing a higher-level binding, and not only would using that require
writing a couple of thousand lines of code unmaintainable by anyone but a
D-Bus guru, but we would also have great difficulty ensuring that it works
with all the other various D-Bus bindings out there -- something which
the "official" language binding maintainers spend a lot of time making sure
of.
Clearly, it would be nice to have this as a separate HID. However, I'm having
great difficulty thinking of an elegant way to do that, as it is most
certainly not something as simple as an exporter, and the dependency on GLib
main loop access is a pain, so perhaps the best option currently would be to
integrate this into the GTK2 HID, making the IPC *only* available if running
pcb-gtk.
Any thoughts/suggestions welcomed.
Peter
--
Fisher Society publicity officer 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/20061003/e4646a6e/attachment.pgp
More information about the geda-dev
mailing list