annotate mcabber/mcabber/settings.h @ 2223:965e0282c128

Backed out changeset fa516ef22145 Turns out that in this hash the value pointer is the same as the key pointer, so there's no need to free both the key and the value.
author Mikael Berthe <mikael@lilotux.net>
date Fri, 06 Nov 2015 22:31:40 +0100
parents ccd4ffa41a1b
children e00ae0763468
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1598
diff changeset
1 #ifndef __MCABBER_SETTINGS_H__
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1598
diff changeset
2 #define __MCABBER_SETTINGS_H__ 1
279
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
3
498
879ffddc13b0 Suppress a compilation warning
Mikael Berthe <mikael@lilotux.net>
parents: 364
diff changeset
4 #include <ctype.h>
279
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
5 #include <glib.h>
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
6
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1598
diff changeset
7 #include <mcabber/roster.h>
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1598
diff changeset
8 #include <mcabber/config.h>
294
871e53769084 Allow one status message per Jabber status
Mikael Berthe <mikael@lilotux.net>
parents: 292
diff changeset
9
498
879ffddc13b0 Suppress a compilation warning
Mikael Berthe <mikael@lilotux.net>
parents: 364
diff changeset
10 #ifndef isblank
292
96917f04c841 Define isblank() when C99 is not used
Mikael Berthe <mikael@lilotux.net>
parents: 288
diff changeset
11 # define isblank(c) ((c) == 0x20 || (c) == 0x09)
96917f04c841 Define isblank() when C99 is not used
Mikael Berthe <mikael@lilotux.net>
parents: 288
diff changeset
12 #endif
96917f04c841 Define isblank() when C99 is not used
Mikael Berthe <mikael@lilotux.net>
parents: 288
diff changeset
13
294
871e53769084 Allow one status message per Jabber status
Mikael Berthe <mikael@lilotux.net>
parents: 292
diff changeset
14
279
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
15 #define SETTINGS_TYPE_OPTION 1
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
16 #define SETTINGS_TYPE_ALIAS 2
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
17 #define SETTINGS_TYPE_BINDING 3
1299
3b338a5c01fc OTR support
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1197
diff changeset
18 #ifdef HAVE_LIBOTR
3b338a5c01fc OTR support
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1197
diff changeset
19 #define SETTINGS_TYPE_OTR 4
3b338a5c01fc OTR support
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1197
diff changeset
20 #endif
279
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
21
967
303408ef5e5d Configurable command character
Alexis Hildebrandt
parents: 867
diff changeset
22 #define COMMAND_CHAR '/'
303408ef5e5d Configurable command character
Alexis Hildebrandt
parents: 867
diff changeset
23 #define COMMAND_CHARSTR "/"
303408ef5e5d Configurable command character
Alexis Hildebrandt
parents: 867
diff changeset
24
279
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
25 #define settings_opt_get(k) settings_get(SETTINGS_TYPE_OPTION, k)
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
26 #define settings_opt_get_int(k) settings_get_int(SETTINGS_TYPE_OPTION, k)
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
27
967
303408ef5e5d Configurable command character
Alexis Hildebrandt
parents: 867
diff changeset
28 #define mkcmdstr(cmd) COMMAND_CHARSTR cmd
303408ef5e5d Configurable command character
Alexis Hildebrandt
parents: 867
diff changeset
29
1673
552da310b83e Add option guards
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1668
diff changeset
30 typedef gchar *(*settings_guard_t)(const gchar *key, const gchar *new_value);
552da310b83e Add option guards
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1668
diff changeset
31
1065
230dca34dbea Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents: 1004
diff changeset
32 void settings_init(void);
2204
ccd4ffa41a1b Use XDG configuration directory if a config file exists
Mikael Berthe <mikael@lilotux.net>
parents: 1811
diff changeset
33 const gchar *settings_get_mcabber_config_dir(void);
1192
7b8765c10abb New command: /source
Mikael Berthe <mikael@lilotux.net>
parents: 1141
diff changeset
34 int cfg_read_file(char *filename, guint mainfile);
1074
b2fc694a8228 Fix a few memory leaks after calls to parse_assigment()
Mikael Berthe <mikael@lilotux.net>
parents: 1070
diff changeset
35 guint parse_assigment(gchar *assignment, gchar **pkey, gchar **pval);
1768
d80a9e32ab1a Refuse to replace existing guards
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1673
diff changeset
36 gboolean settings_set_guard(const gchar *key, settings_guard_t guard);
1673
552da310b83e Add option guards
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1668
diff changeset
37 void settings_del_guard(const gchar *key);
552da310b83e Add option guards
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1668
diff changeset
38 void settings_opt_set_raw(const gchar *key, const gchar *value);
281
f562b9af2de7 Add "const" specifier in prototypes
Mikael Berthe <mikael@lilotux.net>
parents: 280
diff changeset
39 void settings_set(guint type, const gchar *key, const gchar *value);
f562b9af2de7 Add "const" specifier in prototypes
Mikael Berthe <mikael@lilotux.net>
parents: 280
diff changeset
40 void settings_del(guint type, const gchar *key);
f562b9af2de7 Add "const" specifier in prototypes
Mikael Berthe <mikael@lilotux.net>
parents: 280
diff changeset
41 const gchar *settings_get(guint type, const gchar *key);
f562b9af2de7 Add "const" specifier in prototypes
Mikael Berthe <mikael@lilotux.net>
parents: 280
diff changeset
42 int settings_get_int(guint type, const gchar *key);
294
871e53769084 Allow one status message per Jabber status
Mikael Berthe <mikael@lilotux.net>
parents: 292
diff changeset
43 const gchar *settings_get_status_msg(enum imstatus status);
867
7f056c566569 Commands /alias & /bind list the key bindings and aliases
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
44 void settings_foreach(guint type,
1070
9eaacc0ad3a2 Use a hash for settings
Mikael Berthe <mikael@lilotux.net>
parents: 1065
diff changeset
45 void (*pfunc)(char *k, char *v, void *param),
867
7f056c566569 Commands /alias & /bind list the key bindings and aliases
Mikael Berthe <mikael@lilotux.net>
parents: 580
diff changeset
46 void *param);
279
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
47
1065
230dca34dbea Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents: 1004
diff changeset
48 void settings_pgp_setdisabled(const char *bjid, guint value);
230dca34dbea Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents: 1004
diff changeset
49 guint settings_pgp_getdisabled(const char *bjid);
1197
6f602d3270a4 Add /pgp [-]force
Mikael Berthe <mikael@lilotux.net>
parents: 1192
diff changeset
50 void settings_pgp_setforce(const char *bjid, guint value);
6f602d3270a4 Add /pgp [-]force
Mikael Berthe <mikael@lilotux.net>
parents: 1192
diff changeset
51 guint settings_pgp_getforce(const char *bjid);
1065
230dca34dbea Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents: 1004
diff changeset
52 void settings_pgp_setkeyid(const char *bjid, const char *keyid);
230dca34dbea Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents: 1004
diff changeset
53 const char *settings_pgp_getkeyid(const char *bjid);
230dca34dbea Extand pgp_data structure
Mikael Berthe <mikael@lilotux.net>
parents: 1004
diff changeset
54
1301
37b41ed9ed35 Fixed compiler warnings
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1299
diff changeset
55 #ifdef HAVE_LIBOTR
37b41ed9ed35 Fixed compiler warnings
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1299
diff changeset
56 guint settings_otr_getpolicy(const char *bjid);
37b41ed9ed35 Fixed compiler warnings
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1299
diff changeset
57 void settings_otr_setpolicy(const char *bjid, guint value);
37b41ed9ed35 Fixed compiler warnings
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1299
diff changeset
58 #endif
37b41ed9ed35 Fixed compiler warnings
Frank Zschockelt <mcabber_otr[at]freakysoft.de>
parents: 1299
diff changeset
59
1141
5be2408a6534 Add option "max_history_blocks"
Mikael Berthe <mikael@lilotux.net>
parents: 1074
diff changeset
60 guint get_max_history_blocks(void);
5be2408a6534 Add option "max_history_blocks"
Mikael Berthe <mikael@lilotux.net>
parents: 1074
diff changeset
61
1395
d431cd75eb53 Use bookmarked nickname when manually joining a room
Mikael Berthe <mikael@lilotux.net>
parents: 1301
diff changeset
62 char *default_muc_nickname(const char *roomid);
1004
b57a01ffeed6 Use existing conference bookmarks
Mikael Berthe <mikael@lilotux.net>
parents: 967
diff changeset
63
288
1eea0fa0955e Add /bind command
Mikael Berthe <mikael@lilotux.net>
parents: 281
diff changeset
64 const gchar *isbound(int key);
1eea0fa0955e Add /bind command
Mikael Berthe <mikael@lilotux.net>
parents: 281
diff changeset
65
1668
41c26b7d2890 Install mcabber headers
Myhailo Danylenko <isbear@ukrpost.net>
parents: 1598
diff changeset
66 #endif /* __MCABBER_SETTINGS_H__ */
279
f5dd437c057b Rewrite the settings system
Mikael Berthe <mikael@lilotux.net>
parents:
diff changeset
67
1811
e6d355e50d7a Update Vim modelines
Mikael Berthe <mikael@lilotux.net>
parents: 1768
diff changeset
68 /* vim: set et cindent cinoptions=>2\:2(0 ts=2 sw=2: For Vim users... */