From 97841787fed3f656674692b0638fa70fe0857012 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 1 May 2021 10:00:39 +0100 Subject: break it out for distribution --- lib/App/XScreenSaver/DBus.pm | 33 +++++++++++++++++++++++++++++++++ 1 file changed, 33 insertions(+) create mode 100644 lib/App/XScreenSaver/DBus.pm (limited to 'lib/App/XScreenSaver/DBus.pm') 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; -- cgit v1.2.3