Perl bindings Net::DBus version 0.33.2 released

Daniel P. Berrange dan at berrange.com
Sun Jun 4 08:18:40 PDT 2006


An updated release of the Perl Net::DBus bindings, version 0.33.2 is now
available from CPAN at:

  http://search.cpan.org/CPAN/authors/id/D/DA/DANBERR/Net-DBus-0.33.2.tar.gz

With online browsable documentation at:

  http://search.cpan.org/~danberr/Net-DBus-0.33.2/

This release should work with all versions of DBus betwween 0.33.0 and current
CVS tip. I explicitly test on Fedora Core 4 (dbus-0.33) and Fedora Core 5 
(dbus-0.61) distros at this time. 

Bullet point list of changes is:

  http://search.cpan.org/src/DANBERR/Net-DBus-0.33.2/CHANGES

The long answer is....

The major focus of this release was tidying up loose ends, bug fixing and
adding in some missing capabilities. First of all I added the 16 bit 
integer support whose existance I'd totally missed previously. Also added
is support for object paths and signatures, and some bug fixing for dealing
with variants which should improve interoperability with the Python
bindings. I believe I now have 100% type coverage, with the exception of
not handling 64-bit integers on 32-bit platforms (since Perl only provides
a 32-bit integer type)

I started on a first cut at allowing annotations when calling remote
methods. The first two annotations all for fire-and-forget method 
calls (ie discard / don't wait for a reply) and for asynchronous
method calls (ie, the pending call infrastructure). The annotations can
be accessed by importing the Net::DBus::Annotation module. As an example, 
if starting a service on the bus:

  use Net::DBus::Annotation qw(:call);

  $dbus = $bus->get_service("/org/freedesktop/DBus")
  $manager = $dbus->get_object("/org/freedesktop/DBus", "org.freedesktop.DBus")

  # Normal synchronous method call
  $manager->StartServiceByName("com.berrange.Music.Player")

  # Fire-and-forget, returns immediately, no error handling on failure
  $manager->StartServiceByName(dbus_call_noreply, "com.berrange.Music.Player")

  # Asynchronous reply, to be handling out of band
  my $reply = $manager->StartServiceByName(dbus_call_async, "com.berrange.Music.Player")

  while (!$reply->is_complete) {
     ... do some work while waiting for reply...
  }

  $reply->get_result;

NB, with this first impl of async methods, you must poll for completion of
the reply. In the next release I aim to have notifications for async replies
hooked up.

I anticipate adding further annotations at a later date, for example to
override the default method call timeout, or to selectively disable 
introspection and any other tunable that may turn out to be needed in
common application use.

Regards,
Dan.
-- 
|=-            GPG key: http://www.berrange.com/~dan/gpgkey.txt       -=|
|=-       Perl modules: http://search.cpan.org/~danberr/              -=|
|=-           Projects: http://freshmeat.net/~danielpb/               -=|
|=-   berrange at redhat.com  -  Daniel Berrange  -  dan at berrange.com    -=|
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: Digital signature
Url : http://lists.freedesktop.org/archives/dbus/attachments/20060604/86d0d6e9/attachment.pgp


More information about the dbus mailing list