* This file is licensed under the Affero General Public License version 3 or * later. * See the COPYING-README file. */ namespace OCP; /** * This class provides an easy way for apps to store config values in the * database. */ interface IAppConfig { /** * @brief check if a key is set in the appconfig * @param string $app * @param string $key * @return bool */ public function hasKey($app, $key); /** * @brief Gets the config value * @param string $app app * @param string $key key * @param string $default = null, default value if the key does not exist * @return string the value or $default * * This function gets a value from the appconfig table. If the key does * not exist the default value will be returned */ public function getValue($app, $key, $default = null); /** * @brief Deletes a key * @param string $app app * @param string $key key * @return bool * * Deletes a key. */ public function deleteKey($app, $key); /** * @brief Get the available keys for an app * @param string $app the app we are looking for * @return array an array of key names * * This function gets all keys of an app. Please note that the values are * not returned. */ public function getKeys($app); /** * get multiply values, either the app or key can be used as wildcard by setting it to false * * @param string|false $key * @param string|false $app * @return array */ public function getValues($app, $key); /** * @brief sets a value in the appconfig * @param string $app app * @param string $key key * @param string $value value * * Sets a value. If the key did not exist before it will be created. * @return void */ public function setValue($app, $key, $value); /** * @brief Get all apps using the config * @return array an array of app ids * * This function returns a list of all apps that have at least one * entry in the appconfig table. */ public function getApps(); /** * @brief Remove app from appconfig * @param string $app app * @return bool * * Removes all keys in appconfig belonging to the app. */ public function deleteApp($app); }