DBus version 0.0.1
=================

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/

INSTALLATION
------------

To install this module type the following:

   perl Makefile.PL
   make
   make test
   sudo make install

If your dbus installation is not in the /usr prefix,
the the argument DBUS_HOME must be used to specify
the instllation prefix when generating the Makefile.
For example, if dbus were initially configured and
built with 'configure --prefix=$HOME/dbus-0.21' then
the installation procedure for this Perl module would 
be

   perl Makefile.PL DBUS_HOME=$HOME/dbus-0.21
   make
   make test
   make install

The XS layer has the capability to output information
about its operation on STDERR during normal operation.
Due to its performance hit, this capability must be
enabled when initially compiling the DBus module by
specifying the 'PD_DEBUG=1' parameter:

  perl Makefile.PL PD_DEBUG=1

In addition, when running a program the environment
variable PD_DEBUG must be set (to any value).

DEPENDENCIES
------------

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

  Test::More
  Time::HiRes

Both of these modules are present as standard in versions
of Perl >= 5.8.0, while for earlier versions they may
be obtained from CPAN (http://search.cpan.org/).

EXAMPLES
--------

There are two examples programs present in the top
level 'examples' directory. One acts as a server,
the other acts as a client. They communicate using
the UNIX socket /tmp/perl-dbus-test. Once the DBus
modules have been installed, they maybe run as
follows:

    perl examples/sever.pl

    perl examples/client.pl

Control+C will be required to make them exit, since
once connected, they simply sleep/spin around in their
main event loop chatting to each other.

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.0.1 DBus-0.0.1-new

  * Extract a pristine copy of the source:

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

  * Generate the patch:

        diff -ruN DBus-0.0.1-orig DBus-0.0.1-new \
          > DBus-0.0.1-[something].patch
        gzip DBus-0.0.1-[something].patch


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

COPYRIGHT AND LICENCE
---------------------

Copyright (C) 2004 Daniel Berrange

This library is free software; you can redistribute it 
and/or modify it under the same terms as Perl itself. 

-- End
