fix two warnings
[elektra-initiative:libelektra.git] / src / plugins / resolver / contract.h
1 ksNew (50,
2         keyNew ("system/elektra/modules/resolver",
3                 KEY_VALUE, "resolver plugin waits for your orders", KEY_END),
4         keyNew ("system/elektra/modules/resolver/constants", KEY_END),
5         keyNew ("system/elektra/modules/resolver/constants/KDB_DB_SYSTEM",
6                 KEY_VALUE, KDB_DB_SYSTEM, KEY_END),
7         keyNew ("system/elektra/modules/resolver/constants/KDB_DB_HOME",
8                 KEY_VALUE, KDB_DB_HOME, KEY_END),
9         keyNew ("system/elektra/modules/resolver/constants/KDB_DB_USER",
10                 KEY_VALUE, KDB_DB_USER, KEY_END),
11         keyNew ("system/elektra/modules/resolver/exports", KEY_END),
12         keyNew ("system/elektra/modules/resolver/exports/open",
13                 KEY_FUNC, elektraResolverOpen,
14                 KEY_END),
15         keyNew ("system/elektra/modules/resolver/exports/close",
16                 KEY_FUNC, elektraResolverClose,
17                 KEY_END),
18         keyNew ("system/elektra/modules/resolver/exports/get",
19                 KEY_FUNC, elektraResolverGet,
20                 KEY_END),
21         keyNew ("system/elektra/modules/resolver/exports/set",
22                 KEY_FUNC, elektraResolverSet,
23                 KEY_END),
24         keyNew ("system/elektra/modules/resolver/exports/error",
25                 KEY_FUNC, elektraResolverError,
26                 KEY_END),
27         keyNew ("system/elektra/modules/resolver/exports/checkfile",
28                 KEY_FUNC, elektraResolverCheckFile,
29                 KEY_END),
30         keyNew ("system/elektra/modules/resolver/infos",
31                 KEY_VALUE, "All information you want to know are in keys below", KEY_END),
32         keyNew ("system/elektra/modules/resolver/infos/author",
33                 KEY_VALUE, "Markus Raab <elektra@markus-raab.org>", KEY_END),
34         keyNew ("system/elektra/modules/resolver/infos/licence",
35                 KEY_VALUE, "BSD", KEY_END),
36         keyNew ("system/elektra/modules/resolver/infos/description",
37                 KEY_VALUE,
38 " == Scope ==\n"
39 "\n"
40 "The resolver handles operating system dependent tasks.\n"
41 "One task is the resolving of the filenames for user and system (hence its name)\n"
42 "\n"
43 "\n"
44 "We have an optimistic approach. Locking is only used to detect\n"
45 "concurrent cooperative processes in the short moment between prepare and commit.\n"
46 "A conflict will be raised in that situation.\n"
47 "When processes do not lock the file it might be overwritten.\n"
48 "This is unavoidable because\n"
49 "such problems can only be detected in the commit phase when it is too late for\n"
50 "rollbacks.\n"
51 "\n"
52 "== Reading Configuration ==\n"
53 "\n"
54 " 1.) stat the file\n"
55 " 2.) check if the file stat has changed\n"
56 " 3.) remember the time (last update)\n"
57 "\n"
58 "\n"
59 "== Writing Configuration ==\n"
60 "\n"
61 "\n"
62 " 1.) Open the configuration file\n"
63 "     If not available recursively create directories and retry.\n"
64 " 1.) Try to lock the configuration file, if not possible -> conflict\n"
65 " 2.) Check the update time -> conflict\n"
66 " 3.) update the update time\n"
67 "\n"
68 "\n"
69 "\n"
70 "\n"
71 "\n"
72 "\n"
73 "\n"
74                 ,KEY_END),
75         keyNew ("system/elektra/modules/resolver/infos/provides",
76                 KEY_VALUE, "resolver", KEY_END),
77         keyNew ("system/elektra/modules/resolver/infos/placements",
78                 KEY_VALUE, "rollback getresolver setresolver commit", KEY_END),
79         keyNew ("system/elektra/modules/resolver/infos/needs",
80                 KEY_VALUE, "", KEY_END),
81         keyNew ("system/elektra/modules/resolver/infos/version",
82                 KEY_VALUE, PLUGINVERSION, KEY_END),
83         KS_END);