diff options
author | Robin Appelman <icewind@owncloud.com> | 2014-11-07 14:26:12 +0100 |
---|---|---|
committer | Robin Appelman <icewind@owncloud.com> | 2014-11-10 13:52:52 +0100 |
commit | 43eb375ace5c62201e2323b39a5f400b2bdc97b7 (patch) | |
tree | 9794ee71a7978fb31316da41935c448fea92601a /lib/public | |
parent | 2023878d537374b47494eb8ce44d3757b3692626 (diff) | |
download | nextcloud-server-43eb375ace5c62201e2323b39a5f400b2bdc97b7.tar.gz nextcloud-server-43eb375ace5c62201e2323b39a5f400b2bdc97b7.zip |
Add \OC\App\Manager to handle enabling/disabling apps
Diffstat (limited to 'lib/public')
-rw-r--r-- | lib/public/app/iappmanager.php | 51 | ||||
-rw-r--r-- | lib/public/iservercontainer.php | 7 |
2 files changed, 58 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); +} diff --git a/lib/public/iservercontainer.php b/lib/public/iservercontainer.php index 794bba6bfb6..b734d1b4161 100644 --- a/lib/public/iservercontainer.php +++ b/lib/public/iservercontainer.php @@ -291,4 +291,11 @@ interface IServerContainer { * @return \OCP\ITempManager */ function getTempManager(); + + /** + * Get the app manager + * + * @return \OCP\App\IAppManager + */ + function getAppManager(); } |