summaryrefslogtreecommitdiffstats
path: root/library/Director/Hook/BranchSupportHook.php
diff options
context:
space:
mode:
Diffstat (limited to '')
-rw-r--r--library/Director/Hook/BranchSupportHook.php39
1 files changed, 39 insertions, 0 deletions
diff --git a/library/Director/Hook/BranchSupportHook.php b/library/Director/Hook/BranchSupportHook.php
new file mode 100644
index 0000000..6615cbe
--- /dev/null
+++ b/library/Director/Hook/BranchSupportHook.php
@@ -0,0 +1,39 @@
+<?php
+
+namespace Icinga\Module\Director\Hook;
+
+use Icinga\Authentication\Auth;
+use Icinga\Module\Director\Dashboard\Dashlet\Dashlet;
+use Icinga\Module\Director\Db;
+use Icinga\Module\Director\Db\Branch\Branch;
+use Icinga\Module\Director\Db\Branch\BranchSTore;
+use Icinga\Web\Request;
+use ipl\Html\ValidHtml;
+
+abstract class BranchSupportHook
+{
+ /**
+ * @param Request $request
+ * @param BranchSTore $store
+ * @param Auth $auth
+ * @return Branch
+ */
+ abstract public function getBranchForRequest(Request $request, BranchStore $store, Auth $auth);
+
+ /**
+ * @param Branch $branch
+ * @param Auth $auth
+ * @param ?string $label
+ * @return ?ValidHtml
+ */
+ abstract public function linkToBranch(Branch $branch, Auth $auth, $label = null);
+
+ /**
+ * @param Db $db
+ * @return Dashlet[]
+ */
+ public function loadDashlets(Db $db)
+ {
+ return [];
+ }
+}