aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--lib/ManaTools/Shared/TimeZone.pm36
-rw-r--r--t/04-Shared_TimeZone.t2
2 files changed, 33 insertions, 5 deletions
diff --git a/lib/ManaTools/Shared/TimeZone.pm b/lib/ManaTools/Shared/TimeZone.pm
index 3be11d77..46810db0 100644
--- a/lib/ManaTools/Shared/TimeZone.pm
+++ b/lib/ManaTools/Shared/TimeZone.pm
@@ -203,11 +203,37 @@ has 'ntpServiceConfig' => (
init_arg => undef,
);
-# has 'dmlist' => (
-# is => 'rw',
-# isa => 'ArrayRef',
-# builder => '_build_dmlist',
-# );
+#=============================================================
+
+=head2 attribute
+
+=head3 ntpServiceList
+
+ This attribute is a ArrayRef containing configured ntp
+ service into the system, retrieving info from services.
+
+=cut
+
+#=============================================================
+has 'ntpServiceList' => (
+ is => 'rw',
+ isa => 'ArrayRef',
+ lazy => 1,
+ builder => '_build_ntpServiceList',
+ init_arg => undef,
+);
+
+# retrieves the installed ntp service list
+sub _build_ntpServiceList {
+ my $self = shift();
+
+ my @list = ();
+ for my $pair ($self->ntpServiceConfigPairs()) {
+ push @list, $pair->[0] if eval {$self->sh_services->dbus_systemd1_object->GetUnitFileState( $pair->[0] . ".service")};
+ }
+
+ return \@list;
+}
#=============================================================
diff --git a/t/04-Shared_TimeZone.t b/t/04-Shared_TimeZone.t
index 8f82786e..0d72d5bf 100644
--- a/t/04-Shared_TimeZone.t
+++ b/t/04-Shared_TimeZone.t
@@ -23,6 +23,8 @@ BEGIN {
for my $pair (@pairs) {
is ($tz->getNTPServiceConfig($pair->[0]), $pair->[1], "ntpServiceConfigPairs $pair->[0]");
}
+ ok (my $services = $tz->ntpServiceList(), 'ntpServiceList');
+ diag Dumper($services);
SKIP: {
#remember to skip the right number of tests