                 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:

  * Clean out generated files from your working
    directory:

        make distclean

  * Rename your working directory to have '-new' 
    extension: 

        mv DBus-0.33.3 DBus-0.33.3-new

  * Extract a pristine copy of the source:

        gunzip -c DBus-0.33.3.tar.gz | tar xf -
        mv DBus-0.33.3 DBus-0.33.3-orig

  * Generate the patch:

        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:

a) 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

