]> git.mxchange.org Git - friendica.git/blob - src/Core/Config/Adapter/IPConfigAdapter.php
Merge remote-tracking branch 'upstream/develop' into ap-delivery-failure
[friendica.git] / src / Core / Config / Adapter / IPConfigAdapter.php
1 <?php
2
3 /*
4  * To change this license header, choose License Headers in Project Properties.
5  * To change this template file, choose Tools | Templates
6  * and open the template in the editor.
7  */
8
9 namespace Friendica\Core\Config\Adapter;
10
11 /**
12  *
13  * @author benlo
14  */
15 interface IPConfigAdapter
16 {
17         /**
18          * Loads all configuration values of a user's config family and returns the loaded category as an array.
19          *
20          * @param string $uid The user_id
21          * @param string $cat The category of the configuration value
22          *
23          * @return array
24          */
25         public function load($uid, $cat);
26
27         /**
28          * Get a particular user's config variable given the category name
29          * ($family) and a key.
30          *
31          * Note: Boolean variables are defined as 0/1 in the database
32          *
33          * @param string  $uid           The user_id
34          * @param string  $cat           The category of the configuration value
35          * @param string  $key           The configuration key to query
36          *
37          * @return null|mixed Stored value or null if it does not exist
38          */
39         public function get($uid, $cat, $key);
40
41         /**
42          * Stores a config value ($value) in the category ($family) under the key ($key)
43          * for the user_id $uid.
44          *
45          * @note Please do not store booleans - convert to 0/1 integer values!
46          *
47          * @param string $uid   The user_id
48          * @param string $cat   The category of the configuration value
49          * @param string $key   The configuration key to set
50          * @param string $value The value to store
51          *
52          * @return bool Operation success
53          */
54         public function set($uid, $cat, $key, $value);
55
56         /**
57          * Removes the configured value from the stored cache
58          * and removes it from the database.
59          *
60          * @param string $uid The user_id
61          * @param string $cat The category of the configuration value
62          * @param string $key The configuration key to delete
63          *
64          * @return bool Operation success
65          */
66         public function delete($uid, $cat, $key);
67
68         /**
69          * Checks, if the current adapter is connected to the backend
70          *
71          * @return bool
72          */
73         public function isConnected();
74
75         /**
76          * Checks, if a config key ($key) in the category ($cat) is already loaded for the user_id $uid.
77          *
78          * @param string $uid The user_id
79          * @param string $cat The configuration category
80          * @param string $key The configuration key
81          *
82          * @return bool
83          */
84         public function isLoaded($uid, $cat, $key);
85 }