nextcloud/lib/public/app/iappmanager.php

69 lines
1.3 KiB
PHP

<?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;
use OCP\IUser;
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);
/**
* List all apps enabled for a user
*
* @param \OCP\IUser $user
* @return string[]
*/
public function getAppsEnabledForUser(IUser $user);
/**
* List all installed apps
*
* @return string[]
*/
public function getInstalledApps();
}