diff options
Diffstat (limited to 'lib/public/Capabilities/ICapability.php')
-rw-r--r-- | lib/public/Capabilities/ICapability.php | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/lib/public/Capabilities/ICapability.php b/lib/public/Capabilities/ICapability.php new file mode 100644 index 00000000000..c51d8b26f1a --- /dev/null +++ b/lib/public/Capabilities/ICapability.php @@ -0,0 +1,39 @@ +<?php + +/** + * SPDX-FileCopyrightText: 2016-2024 Nextcloud GmbH and Nextcloud contributors + * SPDX-FileCopyrightText: 2016 ownCloud, Inc. + * SPDX-License-Identifier: AGPL-3.0-only + */ +namespace OCP\Capabilities; + +/** + * Minimal interface that has to be implemented for a class to be considered + * a capability. + * + * In an application use \OCP\AppFramework\Bootstrap\IRegistrationContext::registerCapability + * to register capabilities. + * + * @since 8.2.0 + */ +interface ICapability { + /** + * Function an app uses to return the capabilities + * + * ```php + * return [ + * 'myapp' => [ + * 'awesomefeature' => true, + * 'featureversion' => 3, + * ], + * 'morecomplex' => [ + * 'a' => [1, 2], + * ], + * ]; + * ``` + * + * @return array<string, array<string, mixed>> Indexed array containing the app's capabilities + * @since 8.2.0 + */ + public function getCapabilities(); +} |