[libnet-dbus-perl] 54/335: Remove direct use of internal variables. Added "find" constructor to auto-magic determine session/system bus connection. Added convenience method for creating a service.
Intrigeri
intrigeri at moszumanska.debian.org
Sat Mar 21 01:07:23 UTC 2015
This is an automated email from the git hooks/post-receive script.
intrigeri pushed a commit to branch experimental
in repository libnet-dbus-perl.
commit 7e279a2df4ca4590e81652ef8e109aa4dcf058bf
Author: Daniel P. Berrange <dan at berrange.com>
Date: Wed Aug 10 19:26:29 2005 +0000
Remove direct use of internal variables. Added "find" constructor to auto-magic determine session/system bus connection. Added convenience method for creating a service.
---
lib/Net/DBus.pm | 45 ++++++++++++++++++++++++++++-----------------
1 file changed, 28 insertions(+), 17 deletions(-)
diff --git a/lib/Net/DBus.pm b/lib/Net/DBus.pm
index 2db7793..081254f 100644
--- a/lib/Net/DBus.pm
+++ b/lib/Net/DBus.pm
@@ -16,46 +16,51 @@ XSLoader::load('Net::DBus', $VERSION);
use Net::DBus::Binding::Bus;
use Net::DBus::Binding::Message;
use Net::DBus::Binding::Value;
+use Net::DBus::Service;
use Net::DBus::RemoteService;
+sub find {
+ my $class = shift;
+
+ if (exists $ENV{DBUS_SESSION_BUS_ADDRESS} ||
+ (exists $ENV{DBUS_STARTER_BUS_TYPE} &&
+ $ENV{DBUS_STARTER_BUS_TYPE} eq "session")) {
+ return $class->session;
+ } elsif (exists $ENV{DBUS_SYSTEM_BUS_ADDRESS} ||
+ (exists $ENV{DBUS_STARTER_BUS_TYPE} &&
+ $ENV{DBUS_STARTER_BUS_TYPE} eq "system")) {
+ return $class->system;
+ } else {
+ return $class->system;
+ }
+}
sub system {
my $class = shift;
- return $class->_new(&Net::DBus::Binding::Bus::SYSTEM);
+ return $class->_new(Net::DBus::Binding::Bus->new(type => &Net::DBus::Binding::Bus::SYSTEM));
}
sub session {
my $class = shift;
- return $class->_new(&Net::DBus::Binding::Bus::SESSION);
+ return $class->_new(Net::DBus::Binding::Bus->new(type => &Net::DBus::Binding::Bus::SESSION));
}
-
-sub connection {
+sub new {
my $class = shift;
-
- my $self = {};
-
- $self->{connection} = Net::DBus::Binding::Bus->new(address => shift);
- $self->{signals} = {};
-
- bless $self, $class;
-
- $self->{connection}->add_filter(sub { $self->_signal_func(@_) });
-
- return $self;
+ return $class->_new(Net::DBus::Binding::Bus->new(address => shift));
}
sub _new {
my $class = shift;
my $self = {};
- $self->{connection} = Net::DBus::Binding::Bus->new(type => shift);
+ $self->{connection} = shift;
$self->{signals} = {};
bless $self, $class;
- $self->{connection}->add_filter(sub { $self->_signal_func(@_) });
+ $self->get_connection->add_filter(sub { $self->_signal_func(@_) });
return $self;
}
@@ -72,6 +77,12 @@ sub get_service {
return Net::DBus::RemoteService->new($self, $name);
}
+sub export_service {
+ my $self = shift;
+ my $name = shift;
+ return Net::DBus::Service->new($self, $name);
+}
+
sub add_signal_receiver {
my $self = shift;
my $receiver = shift;
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/pkg-perl/packages/libnet-dbus-perl.git
More information about the Pkg-perl-cvs-commits
mailing list