summaryrefslogtreecommitdiff
path: root/lib/App/XScreenSaver/DBus.pm
diff options
context:
space:
mode:
Diffstat (limited to 'lib/App/XScreenSaver/DBus.pm')
-rw-r--r--lib/App/XScreenSaver/DBus.pm39
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();