aboutsummaryrefslogtreecommitdiffstats
path: root/lib/public/app/iappmanager.php
diff options
context:
space:
mode:
authorRobin Appelman <icewind@owncloud.com>2014-11-07 14:26:12 +0100
committerRobin Appelman <icewind@owncloud.com>2014-11-10 13:52:52 +0100
commit43eb375ace5c62201e2323b39a5f400b2bdc97b7 (patch)
tree9794ee71a7978fb31316da41935c448fea92601a /lib/public/app/iappmanager.php
parent2023878d537374b47494eb8ce44d3757b3692626 (diff)
downloadnextcloud-server-43eb375ace5c62201e2323b39a5f400b2bdc97b7.tar.gz
nextcloud-server-43eb375ace5c62201e2323b39a5f400b2bdc97b7.zip
Add \OC\App\Manager to handle enabling/disabling apps
Diffstat (limited to 'lib/public/app/iappmanager.php')
-rw-r--r--lib/public/app/iappmanager.php51
1 files changed, 51 insertions, 0 deletions
diff --git a/lib/public/app/iappmanager.php b/lib/public/app/iappmanager.php
new file mode 100644
index 00000000000..ebd84a1ce9d
--- /dev/null
+++ b/lib/public/app/iappmanager.php
@@ -0,0 +1,51 @@
+<?php
+
+/**
+ * Copyright (c) 2014 Robin Appelman <icewind@owncloud.com>
+ * This file is licensed under the Affero General Public License version 3 or
+ * later.
+ * See the COPYING-README file.
+ */
+
+namespace OCP\App;
+
+interface IAppManager {
+ /**
+ * Check if an app is enabled for user
+ *
+ * @param string $appId
+ * @param \OCP\IUser $user (optional) if not defined, the currently loggedin user will be used
+ * @return bool
+ */
+ public function isEnabledForUser($appId, $user = null);
+
+ /**
+ * Check if an app is installed in the instance
+ *
+ * @param string $appId
+ * @return bool
+ */
+ public function isInstalled($appId);
+
+ /**
+ * Enable an app for every user
+ *
+ * @param string $appId
+ */
+ public function enableApp($appId);
+
+ /**
+ * Enable an app only for specific groups
+ *
+ * @param string $appId
+ * @param \OCP\IGroup[] $groups
+ */
+ public function enableAppForGroups($appId, $groups);
+
+ /**
+ * Disable an app for every user
+ *
+ * @param string $appId
+ */
+ public function disableApp($appId);
+}