Net::DBus::Annotation − annotations for changing behaviour of APIs
use Net::DBus::Annotation qw(:call); my $object = $service−>get_object("/org/example/systemMonitor"); # Block until processes are listed my $processes = $object−>list_processes("someuser"); # Just throw away list of processes, pretty pointless # in this example, but useful if the method doesn't have # a return value $object−>list_processes(dbus_call_noreply, "someuser"); # List processes & get on with other work until # the list is returned. my $asyncreply = $object−>list_processes(dbus_call_async, "someuser"); ... some time later... my $processes = $asyncreply−>get_data;
This module provides a number of annotations which will be useful when dealing with the DBus APIs. There are annotations for switching remote calls between sync, async and no-reply mode. More annotations may be added over time.
Requests that a method call be performed synchronously, waiting for the reply or error return to be received before continuing.
Requests that a method call be performed a−synchronously, returning a pending call object, which will collect the reply when it eventually arrives.
Requests that a method call be performed a−synchronously, discarding any possible reply or error message.
Daniel Berrange <dan AT berrange DOT com>
Copright (C) 2006−2011, Daniel Berrange.