diff options
Diffstat (limited to 'lib/App/XScreenSaver/DBus.pm')
-rw-r--r-- | lib/App/XScreenSaver/DBus.pm | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/App/XScreenSaver/DBus.pm b/lib/App/XScreenSaver/DBus.pm index 10c87fd..c8b6cf5 100644 --- a/lib/App/XScreenSaver/DBus.pm +++ b/lib/App/XScreenSaver/DBus.pm @@ -2,19 +2,45 @@ package App::XScreenSaver::DBus; use Moo; use experimental 'signatures'; use Net::DBus::Reactor; +use Log::Any; use App::XScreenSaver::DBus::InhibitSleep; use App::XScreenSaver::DBus::Saver; +# VERSION +# ABSTRACT: main application class + +=head1 SYNOPSIS + + use App::XScreenSaver::DBus; + App::XScreenSaver::DBus->new->run; + +=attr C<reactor> + +the event loop + +=cut has reactor => ( is => 'lazy', builder => sub { Net::DBus::Reactor->main() }, ); +=attr C<inhibit_sleep> + +instance of L<< C<App::XScreenSaver::DBus::InhibitSleep> >>. + +=cut + has inhibit_sleep => ( is => 'lazy', builder => sub { App::XScreenSaver::DBus::InhibitSleep->new() }, ); +=attr C<saver> + +instance of L<< C<App::XScreenSaver::DBus::Saver> >>. + +=cut + has saver => ( is => 'lazy', builder => sub($self) { @@ -22,8 +48,21 @@ has saver => ( }, ); +=attr C<log> + +a logger + +=cut + has log => ( is => 'lazy', builder => sub { Log::Any->get_logger } ); +=method C<run> + +registers the DBus services and runs the event loop; this method does +not return + +=cut + sub run($self) { $self->inhibit_sleep->start(); $self->saver->start(); |