Net::DBus

Net::DBus provides a Perl XS API to the dbus inter-application messaging system. The Perl API covers the core base level of the dbus APIs, not concerning itself yet with the GLib or QT wrappers. For more information on dbus visit the project website at:

http://www.freedesktop.org/software/dbus/

This version operates against DBus 0.33, through 0.60, and possibly later versions, if there have been no serious API changes.

INSTALLATION

To install this module type the following:

perl Makefile.PL
make
make test
sudo make install

The makefile calls the C<pkg-config> script to determine the correct flags to pass to the compiler & linkers when building the XS part of the module. Thus, ensure pkg-config is in a directory listed by the $PATH environment.

The pkg-config program will likely find the DBus install in /usr provided by the base OS distribution, so if testing against an alternate install of DBus, set the C$PKG_CONFIG_PATH env variable before generating the Makefile. For example, if your dbus installation is in C<$HOME/usr/dbus-cvs-tip> , then to build and install against this version of DBus do

export PKG_CONFIG_PATH=$HOME/usr/dbus-cvs-tip/lib/pkg-config perl Makefile.PL PREFIX=$HOME/usr/dbus-cvs-tip make
make test
make install

DEPENDENCIES

In keeping with the C API, the Perl DBus implementation has minimal external dependancies:

Time::HiRes
XML::Twig
XML::Parser

And to run the test suite:

Test::More
Test::Pod (optional, but recommended) Test::Pod::Coverage (optional, but recommended)

Although they are not part of the base Perl distribution, most OS distributor will already provide addon packages containing these modules. Failing this, they are all available from CPAN http://search.cpan.org/

EXAMPLES

There are a number of example programs in the examples/ subdirectory demonstrating use of the high level application developer APIs.

  example-service.pl         - Providing a simple service
  example-client.pl          - Talking to a remote service

example-signal-emitter.pl - How to broadcast signals example-signal-receiver.pl - How to receive signals

  dump-object.pl             - Dump info about dbus objects
  lshal.pl                   - Dump names of all HAL devices

CONTRIBUTIONS

Contributions both simple bug fixes & new features are always welcome. Please supply patches in context, or unified diff format. A simple method to generate such a patch is as follows:

make distclean

mv DBus-0.33.3 DBus-0.33.3-new

        gunzip -c DBus-0.33.3.tar.gz | tar xf -
        mv DBus-0.33.3 DBus-0.33.3-orig
        diff -ruN DBus-0.33.3-orig DBus-0.33.3-new \
          > DBus-0.33.3-[something].patch
        gzip DBus-0.33.3-[something].patch

Send the resulting to .patch.gz file directly to Daniel Berrange <dan at berrange dot com>

COPYRIGHT AND LICENCE

Copyright (C) 2004-2008 Daniel Berrange

Net-DBus may be redistributed and/or modified under the terms of Perl itself. Either:

  1. the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version

or

b) the "Artistic License"

See the file "COPYING" for the full text of each license

-- End