]> git.ipfire.org Git - people/stevee/guardian.git/blobdiff - modules/Events.pm
Update event handler settings on reload.
[people/stevee/guardian.git] / modules / Events.pm
index f8437deedbf594d13dd1a34d4367b2dd23e33d61..ec253c05d33526db1b9b13302f6dfcccde87b574 100644 (file)
@@ -80,6 +80,34 @@ sub Init (%) {
        return $self;
 }
 
+#
+## The "Update" Block settings function.
+#
+## This object based function is called to update various class settings.
+#
+sub Update (\%) {
+        my $self = shift;
+
+       # Dereference the given hash-ref and store
+       # the values into a new temporary hash.
+       my %settings = %{ $_[0] };
+
+       # Skip settings update if some essential settings are missing.
+       unless ((exists($settings{BlockCount})) && (exists($settings{BlockTime}))) {
+               $logger->Log("err", "Values for BlockCount or BlockTime are missing, keeping previously configured settings.");
+
+               # Return unmodified class object.
+               return $self;
+       }
+
+       # Change settings.
+        $self->{BlockCount} = $settings{BlockCount};
+       $self->{BlockTime} = $settings{BlockTime};
+
+       # Return modified class object.
+        return $self;
+}
+
 #
 ## The main "CheckAction" function.
 #