diff options
author | dakkar <dakkar@thenautilus.net> | 2021-05-01 10:00:39 +0100 |
---|---|---|
committer | dakkar <dakkar@thenautilus.net> | 2021-05-01 10:04:13 +0100 |
commit | 97841787fed3f656674692b0638fa70fe0857012 (patch) | |
tree | e8bd8311170847593f2681995905222e5933ee9c /lib/App/XScreenSaver/DBus.pm | |
parent | autoflush output (diff) | |
download | xscreensaver-dbus-97841787fed3f656674692b0638fa70fe0857012.tar.gz xscreensaver-dbus-97841787fed3f656674692b0638fa70fe0857012.tar.bz2 xscreensaver-dbus-97841787fed3f656674692b0638fa70fe0857012.zip |
break it out for distribution
Diffstat (limited to 'lib/App/XScreenSaver/DBus.pm')
-rw-r--r-- | lib/App/XScreenSaver/DBus.pm | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/lib/App/XScreenSaver/DBus.pm b/lib/App/XScreenSaver/DBus.pm new file mode 100644 index 0000000..10c87fd --- /dev/null +++ b/lib/App/XScreenSaver/DBus.pm @@ -0,0 +1,33 @@ +package App::XScreenSaver::DBus; +use Moo; +use experimental 'signatures'; +use Net::DBus::Reactor; +use App::XScreenSaver::DBus::InhibitSleep; +use App::XScreenSaver::DBus::Saver; + +has reactor => ( + is => 'lazy', + builder => sub { Net::DBus::Reactor->main() }, +); + +has inhibit_sleep => ( + is => 'lazy', + builder => sub { App::XScreenSaver::DBus::InhibitSleep->new() }, +); + +has saver => ( + is => 'lazy', + builder => sub($self) { + App::XScreenSaver::DBus::Saver->new(reactor => $self->reactor); + }, +); + +has log => ( is => 'lazy', builder => sub { Log::Any->get_logger } ); + +sub run($self) { + $self->inhibit_sleep->start(); + $self->saver->start(); + $self->reactor->run; +} + +1; |