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.
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
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/
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 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 (C) 2004-2008 Daniel Berrange
Net-DBus may be redistributed and/or modified under the terms of Perl itself. Either:
or
b) the "Artistic License"
See the file "COPYING" for the full text of each license
-- End