interface IConfigAdapter
{
/**
- * Loads all configuration values into a cached storage.
+ * Loads all configuration values and returns the loaded category as an array.
*
* @param string $cat The category of the configuration values to load
*
public function load($cat = "config");
/**
- * Get a particular user's config variable given the category name
+ * Get a particular system-wide config variable given the category name
* ($family) and a key.
*
+ * Note: Boolean variables are defined as 0/1 in the database
+ *
* @param string $cat The category of the configuration value
* @param string $key The configuration key to query
*
- * @return mixed Stored value or "!<unset>!" if it does not exist
+ * @return null|mixed Stored value or null if it does not exist
*/
public function get($cat, $key);
/**
- * Stores a config value ($value) in the category ($family) under the key ($key)
- * for the user_id $uid.
+ * Stores a config value ($value) in the category ($family) under the key ($key).
*
* Note: Please do not store booleans - convert to 0/1 integer values!
*
* and removes it from the database.
*
* @param string $cat The category of the configuration value
- * @param string $key The configuration key to delete
+ * @param string $key The configuration key to delete
*
- * @return mixed
+ * @return bool Operation success
*/
public function delete($cat, $key);
* @return bool
*/
public function isConnected();
+
+ /**
+ * Checks, if a config key ($key) in the category ($cat) is already loaded.
+ *
+ * @param string $cat The configuration category
+ * @param string $key The configuration key
+ *
+ * @return bool
+ */
+ public function isLoaded($cat, $key);
}