summaryrefslogtreecommitdiffstats
path: root/library/Reporting/Hook/ActionHook.php
diff options
context:
space:
mode:
Diffstat (limited to 'library/Reporting/Hook/ActionHook.php')
-rw-r--r--library/Reporting/Hook/ActionHook.php37
1 files changed, 37 insertions, 0 deletions
diff --git a/library/Reporting/Hook/ActionHook.php b/library/Reporting/Hook/ActionHook.php
new file mode 100644
index 0000000..ef550ee
--- /dev/null
+++ b/library/Reporting/Hook/ActionHook.php
@@ -0,0 +1,37 @@
+<?php
+// Icinga Reporting | (c) 2018 Icinga GmbH | GPLv2
+
+namespace Icinga\Module\Reporting\Hook;
+
+use Icinga\Application\Hook;
+use Icinga\Module\Reporting\Report;
+use ipl\Html\Form;
+
+abstract class ActionHook
+{
+ /**
+ * @return string
+ */
+ abstract public function getName();
+
+ /**
+ * @param Report $report
+ * @param array $config
+ */
+ abstract public function execute(Report $report, array $config);
+
+ /**
+ * @param Form $form
+ */
+ public function initConfigForm(Form $form, Report $report)
+ {
+ }
+
+ /**
+ * @return ActionHook[]
+ */
+ final public static function getActions()
+ {
+ return Hook::all('reporting/Action');
+ }
+}