GNU/Linux |
Debian 6.0.9(Squeeze) |
|
![]() |
Net::DBus::ASyncReply(3pm) |
![]() |
Net::DBus::ASyncReply − asynchronous method reply handler
use Net::DBus::Annotation qw(:call); my $object = $service−>get_object("/org/example/systemMonitor"); # List processes & get on with other work until # the list is returned. my $asyncreply = $object−>list_processes(dbus_call_async, "someuser"); while (!$asyncreply−>is_ready) { ... do some background work.. } my $processes = $asyncreply−>get_result;
This object provides a handler for receiving asynchronous method replies. An asynchronous reply object is generated when making remote method call with the "dbus_call_async" annotation set.
$asyncreply−>discard_result;
Indicates that the caller is no longer interested in recieving the reply & that it should be discarded. After calling this method, this object should not be used again.
$asyncreply−>wait_for_result;
Blocks the caller waiting for completion of the of the asynchronous reply. Upon returning from this method, the result can be obtained with the "get_result" method.
my $boolean = $asyncreply−>is_ready;
Returns a true value if the asynchronous reply is now complete (or a timeout has occurred). When this method returns true, the result can be obtained with the "get_result" method.
$asyncreply−>set_notify($coderef);
Sets a notify function which will be invoked when the asynchronous reply finally completes. The callback will be invoked with a single parameter which is this object.
my @data = $asyncreply−>get_result;
Retrieves the data associated with the asynchronous reply. If a timeout occurred, then this method will throw an exception. This method can only be called once the reply is complete, as indicated by the "is_ready" method returning a true value. After calling this method, this object should no longer be used.
Daniel Berrange <dan@berrange.com>
Copright (C) 2006, Daniel Berrange.
Net::DBus, Net::DBus::RemoteObject, Net::DBus::Annotation
![]() |
Net::DBus::ASyncReply(3pm) | ![]() |