home *** CD-ROM | disk | FTP | other *** search
/ PC Welt 2006 November (DVD) / PCWELT_11_2006.ISO / casper / filesystem.squashfs / usr / share / doc / libnet-dbus-perl / examples / example-signal-emitter.pl < prev    next >
Encoding:
Perl Script  |  2006-02-19  |  937 b   |  48 lines

  1. #!/usr/bin/perl -w
  2.  
  3. use Net::DBus;
  4. use Net::DBus::Reactor;
  5. use Net::DBus::Service;
  6. use Net::DBus::Object;
  7.  
  8. use Carp qw(confess cluck);
  9.  
  10. #$SIG{__WARN__} = sub { cluck $_[0] };
  11. #$SIG{__DIE__} = sub { confess $_[0] };
  12.  
  13. package TestObject;
  14.  
  15. use base qw(Net::DBus::Object);
  16. use Net::DBus::Exporter qw(org.designfu.TestService);
  17.  
  18. sub new {
  19.     my $class = shift;
  20.     my $service = shift;
  21.     my $self = $class->SUPER::new($service, "/org/designfu/TestService/object");
  22.                   
  23.     
  24.     bless $self, $class;
  25.     
  26.     return $self;
  27. }
  28.  
  29. dbus_signal("HelloSignal", ["string"]);
  30. dbus_method("emitHelloSignal");
  31. sub emitHelloSignal {
  32.     my $self = shift;
  33.     print "Got request to send hello signal\n";
  34.     return $self->emit_signal("HelloSignal", "Hello");
  35. }
  36.  
  37.  
  38. package main;
  39.  
  40.  
  41. my $bus = Net::DBus->session();
  42. my $service = $bus->export_service("org.designfu.TestService");
  43. my $object = TestObject->new($service);
  44.  
  45. Net::DBus::Reactor->main->run();
  46.  
  47.  
  48.