cl-dbus aims to be a complete implementation of the DBUS protocol used in popular desktop environments.
Common Lisp
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.
LICENSE
README
TODO
anonymous-auth.lisp
cl-dbus.asd
cookie-sha1-auth.lisp
dbus-test.conf
network.lisp
packages.lisp
tcp-transport.lisp
test.lisp
transport.lisp
types.lisp
unix-transport.lisp
utilities.lisp

README

-*- Mode: Outline -*-

This library aims to be an implementation of the D-BUS specification.

* Introduction

If you don't want to hack on this, you can stop reading at this point
and delete the directory containing this file.

Okay, you are still here.

* Development resources

The official source code repository of this project is managed in
git. To get a copy of the recent development tree, visit:

 http://github.com/blitz/cl-dbus

There is currently no fancy project page, bug tracker or
whatever. Please coordinate your effort with js at alien8 dot de or
use github's communication methods to reach me.

* Setting up a D-Bus server to play with

Verbose mode is disabled in production builds of dbus, so you need to
compile your own dbus-daemon. Grab the source and build it with
verbose mode enabled via something like:

 git clone git://anongit.freedesktop.org/git/dbus/dbus
 cd dbus ; sh autogen.sh
 ./configure --enable-verbose-mode --enable-asserts --prefix=$HOME/local
 make && make install

Now you can start it via:

 DBUS_VERBOSE=1 ~/local/bin/dbus-daemon --session --print-address

It prints a lot of debug chatter. Near the end is the session address,
which looks something like:

 unix:abstract=/tmp/dbus-9ucTJli40r,guid=bc23bec2cc2ae2bd45f1477b4b5f6f3d

Pass this string to DBUS-CONNECT.

* Some notes

** Implementation-specific code

An effort has been made to include no implementation-specific code,
but to rely on various wrapper libraries. This increases the amount of
dependencies somewhat, but frees CL-DBUS from a lot of clutter.

** Endianness

Due to simplicity I plan only to support host endianness for outgoing
messages, i.e. every message we compose ourselves. Incoming messages
should be parsable regardless of their endianness.

* Information

The D-BUS spec: http://dbus.freedesktop.org/doc/dbus-specification.html