Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with
or
.
Download ZIP
cl-dbus aims to be a complete implementation of the DBUS protocol used in popular desktop environments.
Common Lisp
Branch: master

Fetching latest commit…

Cannot retrieve the latest commit at this time

Failed to load latest commit information.
LICENSE
README
TODO Updated TODO.
anonymous-auth.lisp
cl-dbus.asd
cookie-sha1-auth.lisp
dbus-test.conf
network.lisp
packages.lisp
tcp-transport.lisp
test.lisp Moved test code to test.lisp. Whitespace cleanup in network.lisp.
transport.lisp
types.lisp
unix-transport.lisp Port to iolib 0.6.0.
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
Something went wrong with that request. Please try again.