FreeRDP
All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Modules Pages
settings_str.c
1/* Generated by */
2
3#include "../core/settings.h"
4#include "settings_str.h"
5
6BOOL freerdp_settings_clone_keys(rdpSettings* dst, const rdpSettings* src)
7{
8 WINPR_ASSERT(dst);
9 WINPR_ASSERT(src);
10
11 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
12 {
13 const struct settings_str_entry* cur = &settings_map[x];
14 switch (cur->type)
15 {
16 case FREERDP_SETTINGS_TYPE_BOOL: /* bool */
17 {
18 BOOL sval = freerdp_settings_get_bool(src, (FreeRDP_Settings_Keys_Bool)cur->id);
19 if (!freerdp_settings_set_bool(dst, (FreeRDP_Settings_Keys_Bool)cur->id, sval))
20 return FALSE;
21 }
22 break;
23 case FREERDP_SETTINGS_TYPE_UINT16: /* UINT16 */
24 {
25 UINT16 sval =
26 freerdp_settings_get_uint16(src, (FreeRDP_Settings_Keys_UInt16)cur->id);
27 if (!freerdp_settings_set_uint16(dst, (FreeRDP_Settings_Keys_UInt16)cur->id, sval))
28 return FALSE;
29 }
30 break;
31 case FREERDP_SETTINGS_TYPE_INT16: /* INT16 */
32 {
33 INT16 sval = freerdp_settings_get_int16(src, (FreeRDP_Settings_Keys_Int16)cur->id);
34 if (!freerdp_settings_set_int16(dst, (FreeRDP_Settings_Keys_Int16)cur->id, sval))
35 return FALSE;
36 }
37 break;
38 case FREERDP_SETTINGS_TYPE_UINT32: /* UINT32 */
39 {
40 UINT32 sval =
41 freerdp_settings_get_uint32(src, (FreeRDP_Settings_Keys_UInt32)cur->id);
42 if (!freerdp_settings_set_uint32(dst, (FreeRDP_Settings_Keys_UInt32)cur->id, sval))
43 return FALSE;
44 }
45 break;
46 case FREERDP_SETTINGS_TYPE_INT32: /* INT32 */
47 {
48 INT32 sval = freerdp_settings_get_int32(src, (FreeRDP_Settings_Keys_Int32)cur->id);
49 if (!freerdp_settings_set_int32(dst, (FreeRDP_Settings_Keys_Int32)cur->id, sval))
50 return FALSE;
51 }
52 break;
53 case FREERDP_SETTINGS_TYPE_UINT64: /* UINT64 */
54 {
55 UINT64 sval =
56 freerdp_settings_get_uint64(src, (FreeRDP_Settings_Keys_UInt64)cur->id);
57 if (!freerdp_settings_set_uint64(dst, (FreeRDP_Settings_Keys_UInt64)cur->id, sval))
58 return FALSE;
59 }
60 break;
61 case FREERDP_SETTINGS_TYPE_INT64: /* INT64 */
62 {
63 INT64 sval = freerdp_settings_get_int64(src, (FreeRDP_Settings_Keys_Int64)cur->id);
64 if (!freerdp_settings_set_int64(dst, (FreeRDP_Settings_Keys_Int64)cur->id, sval))
65 return FALSE;
66 }
67 break;
68 case FREERDP_SETTINGS_TYPE_STRING: /* strings */
69 {
70 const char* sval =
71 freerdp_settings_get_string(src, (FreeRDP_Settings_Keys_String)cur->id);
72 size_t len = 0;
73 if (sval)
74 len = strlen(sval);
75 if (!freerdp_settings_set_string_copy_(dst, (FreeRDP_Settings_Keys_String)cur->id,
76 sval, len, FALSE))
77 return FALSE;
78 }
79 break;
80 case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
81 {
82 const void* sval =
83 freerdp_settings_get_pointer(src, (FreeRDP_Settings_Keys_Pointer)cur->id);
84 if (!freerdp_settings_set_pointer(dst, (FreeRDP_Settings_Keys_Pointer)cur->id,
85 sval))
86 return FALSE;
87 }
88 break;
89 default:
90 return FALSE;
91 }
92 }
93 return TRUE;
94}
95
96BOOL freerdp_settings_print_diff(wLog* log, DWORD level, const rdpSettings* settings,
97 const rdpSettings* other)
98{
99 BOOL rc = FALSE;
100
101 WINPR_ASSERT(log);
102 WINPR_ASSERT(settings);
103 WINPR_ASSERT(other);
104
105 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
106 {
107 const struct settings_str_entry* cur = &settings_map[x];
108 switch (cur->type)
109 {
110 case FREERDP_SETTINGS_TYPE_BOOL: /* bool */
111 {
112 BOOL sval =
113 freerdp_settings_get_bool(settings, (FreeRDP_Settings_Keys_Bool)cur->id);
114 BOOL cval = freerdp_settings_get_bool(other, (FreeRDP_Settings_Keys_Bool)cur->id);
115 if (sval != cval)
116 {
117 rc = TRUE;
118 WLog_Print(log, level, "%s [BOOL]: %s -> %s", cur->str, sval ? "TRUE" : "FALSE",
119 cval ? "TRUE" : "FALSE");
120 }
121 }
122 break;
123 case FREERDP_SETTINGS_TYPE_UINT16: /* UINT16 */
124 {
125 UINT16 sval =
126 freerdp_settings_get_uint16(settings, (FreeRDP_Settings_Keys_UInt16)cur->id);
127 UINT16 cval =
128 freerdp_settings_get_uint16(other, (FreeRDP_Settings_Keys_UInt16)cur->id);
129 if (sval != cval)
130 {
131 rc = TRUE;
132 WLog_Print(log, level, "%s [UINT16]: %" PRIu16 " -> %" PRIu16, cur->str, sval,
133 cval);
134 }
135 }
136 break;
137 case FREERDP_SETTINGS_TYPE_INT16: /* INT16 */
138 {
139 INT16 sval =
140 freerdp_settings_get_int16(settings, (FreeRDP_Settings_Keys_Int16)cur->id);
141 INT16 cval =
142 freerdp_settings_get_int16(other, (FreeRDP_Settings_Keys_Int16)cur->id);
143 if (sval != cval)
144 {
145 rc = TRUE;
146 WLog_Print(log, level, "%s [INT16]: %" PRId16 " -> %" PRId16, cur->str, sval,
147 cval);
148 }
149 }
150 break;
151 case FREERDP_SETTINGS_TYPE_UINT32: /* UINT32 */
152 {
153 UINT32 sval =
154 freerdp_settings_get_uint32(settings, (FreeRDP_Settings_Keys_UInt32)cur->id);
155 UINT32 cval =
156 freerdp_settings_get_uint32(other, (FreeRDP_Settings_Keys_UInt32)cur->id);
157 if (sval != cval)
158 {
159 rc = TRUE;
160 WLog_Print(log, level, "%s [UINT32]: %" PRIu32 " -> %" PRIu32, cur->str, sval,
161 cval);
162 }
163 }
164 break;
165 case FREERDP_SETTINGS_TYPE_INT32: /* INT32 */
166 {
167 INT32 sval =
168 freerdp_settings_get_int32(settings, (FreeRDP_Settings_Keys_Int32)cur->id);
169 INT32 cval =
170 freerdp_settings_get_int32(other, (FreeRDP_Settings_Keys_Int32)cur->id);
171 if (sval != cval)
172 {
173 rc = TRUE;
174 WLog_Print(log, level, "%s [INT32]: %" PRId32 " -> %" PRId32, cur->str, sval,
175 cval);
176 }
177 }
178 break;
179 case FREERDP_SETTINGS_TYPE_UINT64: /* UINT64 */
180 {
181 UINT64 sval =
182 freerdp_settings_get_uint64(settings, (FreeRDP_Settings_Keys_UInt64)cur->id);
183 UINT64 cval =
184 freerdp_settings_get_uint64(other, (FreeRDP_Settings_Keys_UInt64)cur->id);
185 if (sval != cval)
186 {
187 rc = TRUE;
188 WLog_Print(log, level, "%s [UINT64]: %" PRIu64 " -> %" PRIu64, cur->str, sval,
189 cval);
190 }
191 }
192 break;
193 case FREERDP_SETTINGS_TYPE_INT64: /* INT64 */
194 {
195 INT64 sval =
196 freerdp_settings_get_int64(settings, (FreeRDP_Settings_Keys_Int64)cur->id);
197 INT64 cval =
198 freerdp_settings_get_int64(other, (FreeRDP_Settings_Keys_Int64)cur->id);
199 if (sval != cval)
200 {
201 rc = TRUE;
202 WLog_Print(log, level, "%s [INT64]: %" PRId64 " -> %" PRId64, cur->str, sval,
203 cval);
204 }
205 }
206 break;
207 case FREERDP_SETTINGS_TYPE_STRING: /* strings */
208 {
209 const char* sval =
210 freerdp_settings_get_string(settings, (FreeRDP_Settings_Keys_String)cur->id);
211 const char* cval =
212 freerdp_settings_get_string(other, (FreeRDP_Settings_Keys_String)cur->id);
213 if (sval != cval)
214 {
215 if (!sval || !cval || (strcmp(sval, cval) != 0))
216 {
217 rc = TRUE;
218 WLog_Print(log, level, "%s [STRING]: '%s' -> '%s'", cur->str, sval, cval);
219 }
220 }
221 }
222 break;
223 case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
224 {
225 const void* sval =
226 freerdp_settings_get_pointer(settings, (FreeRDP_Settings_Keys_Pointer)cur->id);
227 const void* cval =
228 freerdp_settings_get_pointer(other, (FreeRDP_Settings_Keys_Pointer)cur->id);
229 if (sval != cval)
230 {
231 if ((sval && !cval) || (!sval && cval))
232 {
233 rc = TRUE;
234 WLog_Print(log, level, "%s [POINTER]: '%p' -> '%p'", cur->str, sval, cval);
235 }
236 }
237 }
238 break;
239 default:
240 break;
241 }
242 }
243 return rc;
244}
245
246void freerdp_settings_dump(wLog* log, DWORD level, const rdpSettings* settings)
247{
248 WINPR_ASSERT(log);
249 WINPR_ASSERT(settings);
250
251 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
252 {
253 const struct settings_str_entry* cur = &settings_map[x];
254 switch (cur->type)
255 {
256 case FREERDP_SETTINGS_TYPE_BOOL: /* bool */
257 {
258 BOOL sval =
259 freerdp_settings_get_bool(settings, (FreeRDP_Settings_Keys_Bool)cur->id);
260 WLog_Print(log, level, "%s [BOOL]: %s", cur->str, sval ? "TRUE" : "FALSE");
261 }
262 break;
263 case FREERDP_SETTINGS_TYPE_UINT16: /* UINT16 */
264 {
265 UINT16 sval =
266 freerdp_settings_get_uint16(settings, (FreeRDP_Settings_Keys_UInt16)cur->id);
267 WLog_Print(log, level, "%s [UINT16]: %" PRIu16, cur->str, sval);
268 }
269 break;
270 case FREERDP_SETTINGS_TYPE_INT16: /* INT16 */
271 {
272 INT16 sval =
273 freerdp_settings_get_int16(settings, (FreeRDP_Settings_Keys_Int16)cur->id);
274 WLog_Print(log, level, "%s [INT16]: %" PRId16, cur->str, sval);
275 }
276 break;
277 case FREERDP_SETTINGS_TYPE_UINT32: /* UINT32 */
278 {
279 UINT32 sval =
280 freerdp_settings_get_uint32(settings, (FreeRDP_Settings_Keys_UInt32)cur->id);
281 WLog_Print(log, level, "%s [UINT32]: %" PRIu32, cur->str, sval);
282 }
283 break;
284 case FREERDP_SETTINGS_TYPE_INT32: /* INT32 */
285 {
286 INT32 sval =
287 freerdp_settings_get_int32(settings, (FreeRDP_Settings_Keys_Int32)cur->id);
288 WLog_Print(log, level, "%s [INT32]: %" PRId32, cur->str, sval);
289 }
290 break;
291 case FREERDP_SETTINGS_TYPE_UINT64: /* UINT64 */
292 {
293 UINT64 sval =
294 freerdp_settings_get_uint64(settings, (FreeRDP_Settings_Keys_UInt64)cur->id);
295 WLog_Print(log, level, "%s [UINT64]: %" PRIu64, cur->str, sval);
296 }
297 break;
298 case FREERDP_SETTINGS_TYPE_INT64: /* INT64 */
299 {
300 INT64 sval =
301 freerdp_settings_get_int64(settings, (FreeRDP_Settings_Keys_Int64)cur->id);
302 WLog_Print(log, level, "%s [INT64]: %" PRId64, cur->str, sval);
303 }
304 break;
305 case FREERDP_SETTINGS_TYPE_STRING: /* strings */
306 {
307 const char* sval =
308 freerdp_settings_get_string(settings, (FreeRDP_Settings_Keys_String)cur->id);
309 WLog_Print(log, level, "%s [STRING]: '%s'", cur->str, sval);
310 }
311 break;
312 case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
313 {
314 const void* sval =
315 freerdp_settings_get_pointer(settings, (FreeRDP_Settings_Keys_Pointer)cur->id);
316 WLog_Print(log, level, "%s [POINTER]: '%p'", cur->str, sval);
317 }
318 break;
319 default:
320 break;
321 }
322 }
323}
324
325void freerdp_settings_free_keys(rdpSettings* dst, BOOL cleanup)
326{
327 WINPR_ASSERT(dst);
328
329 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
330 {
331 const struct settings_str_entry* cur = &settings_map[x];
332 switch (cur->type)
333 {
334 case FREERDP_SETTINGS_TYPE_STRING: /* strings */
335 (void)freerdp_settings_set_string_copy_(dst, (FreeRDP_Settings_Keys_String)cur->id,
336 NULL, 0, cleanup);
337 break;
338 case FREERDP_SETTINGS_TYPE_POINTER: /* pointer */
339 (void)freerdp_settings_set_pointer_len(dst, (FreeRDP_Settings_Keys_Pointer)cur->id,
340 NULL, 0);
341 break;
342 default:
343 break;
344 }
345 }
346}
347
348SSIZE_T freerdp_settings_get_key_for_name(const char* value)
349{
350 WINPR_ASSERT(value);
351
352 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
353 {
354 const struct settings_str_entry* cur = &settings_map[x];
355 if (strcmp(value, cur->str) == 0)
356 return cur->id;
357 }
358 return -1;
359}
360
361SSIZE_T freerdp_settings_get_type_for_name(const char* value)
362{
363 WINPR_ASSERT(value);
364
365 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
366 {
367 const struct settings_str_entry* cur = &settings_map[x];
368 if (strcmp(value, cur->str) == 0)
369 return cur->type;
370 }
371 return -1;
372}
373
375{
376 const SSIZE_T type = freerdp_settings_get_type_for_key(key);
378}
379
381{
382 switch (type)
383 {
384 case FREERDP_SETTINGS_TYPE_BOOL:
385 return "FREERDP_SETTINGS_TYPE_BOOL";
386 case FREERDP_SETTINGS_TYPE_UINT16:
387 return "FREERDP_SETTINGS_TYPE_UINT16";
388 case FREERDP_SETTINGS_TYPE_INT16:
389 return "FREERDP_SETTINGS_TYPE_INT16";
390 case FREERDP_SETTINGS_TYPE_UINT32:
391 return "FREERDP_SETTINGS_TYPE_UINT32";
392 case FREERDP_SETTINGS_TYPE_INT32:
393 return "FREERDP_SETTINGS_TYPE_INT32";
394 case FREERDP_SETTINGS_TYPE_UINT64:
395 return "FREERDP_SETTINGS_TYPE_UINT64";
396 case FREERDP_SETTINGS_TYPE_INT64:
397 return "FREERDP_SETTINGS_TYPE_INT64";
398 case FREERDP_SETTINGS_TYPE_STRING:
399 return "FREERDP_SETTINGS_TYPE_STRING";
400 case FREERDP_SETTINGS_TYPE_POINTER:
401 return "FREERDP_SETTINGS_TYPE_POINTER";
402 default:
403 return "FREERDP_SETTINGS_TYPE_UNKNOWN";
404 }
405}
406
408{
409 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
410 {
411 const struct settings_str_entry* cur = &settings_map[x];
412 if (cur->id == key)
413 return cur->type;
414 }
415 return -1;
416}
417
418const char* freerdp_settings_get_name_for_key(SSIZE_T key)
419{
420 for (size_t x = 0; x < ARRAYSIZE(settings_map); x++)
421 {
422 const struct settings_str_entry* cur = &settings_map[x];
423 if (cur->id == key)
424 return cur->str;
425 }
426 return NULL;
427}
428
429BOOL freerdp_settings_copy_item(rdpSettings* dst, const rdpSettings* src, SSIZE_T id)
430{
431 WINPR_ASSERT(dst);
432 WINPR_ASSERT(src);
433
434 const SSIZE_T key = freerdp_settings_get_type_for_key(id);
435 switch (key)
436 {
437 case FREERDP_SETTINGS_TYPE_BOOL:
438 {
439 const BOOL val = freerdp_settings_get_bool(src, (FreeRDP_Settings_Keys_Bool)id);
440 return freerdp_settings_set_bool(dst, (FreeRDP_Settings_Keys_Bool)id, val);
441 }
442 case FREERDP_SETTINGS_TYPE_INT16:
443 {
444 const INT16 val = freerdp_settings_get_int16(src, (FreeRDP_Settings_Keys_Int16)id);
445 return freerdp_settings_set_int16(dst, (FreeRDP_Settings_Keys_Int16)id, val);
446 }
447 case FREERDP_SETTINGS_TYPE_INT32:
448 {
449 const INT32 val = freerdp_settings_get_int32(src, (FreeRDP_Settings_Keys_Int32)id);
450 return freerdp_settings_set_int32(dst, (FreeRDP_Settings_Keys_Int32)id, val);
451 }
452 case FREERDP_SETTINGS_TYPE_INT64:
453 {
454 const INT64 val = freerdp_settings_get_int64(src, (FreeRDP_Settings_Keys_Int64)id);
455 return freerdp_settings_set_int64(dst, (FreeRDP_Settings_Keys_Int64)id, val);
456 }
457 case FREERDP_SETTINGS_TYPE_UINT16:
458 {
459 const UINT16 val = freerdp_settings_get_uint16(src, (FreeRDP_Settings_Keys_UInt16)id);
460 return freerdp_settings_set_uint16(dst, (FreeRDP_Settings_Keys_UInt16)id, val);
461 }
462 case FREERDP_SETTINGS_TYPE_UINT32:
463 {
464 const UINT32 val = freerdp_settings_get_uint32(src, (FreeRDP_Settings_Keys_UInt32)id);
465 return freerdp_settings_set_uint32(dst, (FreeRDP_Settings_Keys_UInt32)id, val);
466 }
467 case FREERDP_SETTINGS_TYPE_UINT64:
468 {
469 const UINT64 val = freerdp_settings_get_uint64(src, (FreeRDP_Settings_Keys_UInt64)id);
470 return freerdp_settings_set_uint64(dst, (FreeRDP_Settings_Keys_UInt64)id, val);
471 }
472 case FREERDP_SETTINGS_TYPE_STRING:
473 {
474 const char* val = freerdp_settings_get_string(src, (FreeRDP_Settings_Keys_String)id);
475 return freerdp_settings_set_string(dst, (FreeRDP_Settings_Keys_String)id, val);
476 }
477 case FREERDP_SETTINGS_TYPE_POINTER:
478 {
479 const void* val = freerdp_settings_get_pointer(src, (FreeRDP_Settings_Keys_Pointer)id);
480 return freerdp_settings_set_pointer(dst, (FreeRDP_Settings_Keys_Pointer)id, val);
481 }
482 default:
483 return FALSE;
484 }
485}
void freerdp_settings_dump(wLog *log, DWORD level, const rdpSettings *settings)
Dumps the contents of a settings struct to a WLog logger.
FREERDP_API UINT32 freerdp_settings_get_uint32(const rdpSettings *settings, FreeRDP_Settings_Keys_UInt32 id)
Returns a UINT32 settings value.
FREERDP_API BOOL freerdp_settings_set_string(rdpSettings *settings, FreeRDP_Settings_Keys_String id, const char *param)
Sets a string settings value. The param is copied.
FREERDP_API BOOL freerdp_settings_get_bool(const rdpSettings *settings, FreeRDP_Settings_Keys_Bool id)
Returns a boolean settings value.
FREERDP_API INT64 freerdp_settings_get_int64(const rdpSettings *settings, FreeRDP_Settings_Keys_Int64 id)
Returns a INT64 settings value.
BOOL freerdp_settings_print_diff(wLog *log, DWORD level, const rdpSettings *settings, const rdpSettings *other)
Dumps the difference between two settings structs to a WLog.
SSIZE_T freerdp_settings_get_type_for_name(const char *value)
Get a key type for the name string of that key.
SSIZE_T freerdp_settings_get_type_for_key(SSIZE_T key)
Get a key type for the key index.
FREERDP_API UINT64 freerdp_settings_get_uint64(const rdpSettings *settings, FreeRDP_Settings_Keys_UInt64 id)
Returns a UINT64 settings value.
SSIZE_T freerdp_settings_get_key_for_name(const char *value)
Get a key index for the name string of that key.
FREERDP_API BOOL freerdp_settings_set_pointer_len(rdpSettings *settings, FreeRDP_Settings_Keys_Pointer id, const void *data, size_t len)
Set a pointer to value data.
FREERDP_API BOOL freerdp_settings_set_int32(rdpSettings *settings, FreeRDP_Settings_Keys_Int32 id, INT32 param)
Sets a INT32 settings value.
BOOL freerdp_settings_copy_item(rdpSettings *dst, const rdpSettings *src, SSIZE_T id)
copies one setting identified by id from src to dst
FREERDP_API UINT16 freerdp_settings_get_uint16(const rdpSettings *settings, FreeRDP_Settings_Keys_UInt16 id)
Returns a UINT16 settings value.
FREERDP_API BOOL freerdp_settings_set_uint64(rdpSettings *settings, FreeRDP_Settings_Keys_UInt64 id, UINT64 param)
Sets a UINT64 settings value.
FREERDP_API BOOL freerdp_settings_set_int16(rdpSettings *settings, FreeRDP_Settings_Keys_Int16 id, INT16 param)
Sets a INT16 settings value.
FREERDP_API BOOL freerdp_settings_set_int64(rdpSettings *settings, FreeRDP_Settings_Keys_Int64 id, INT64 param)
Sets a INT64 settings value.
FREERDP_API BOOL freerdp_settings_set_pointer(rdpSettings *settings, FreeRDP_Settings_Keys_Pointer id, const void *data)
Set a pointer to value data.
FREERDP_API INT32 freerdp_settings_get_int32(const rdpSettings *settings, FreeRDP_Settings_Keys_Int32 id)
Returns a INT32 settings value.
FREERDP_API const void * freerdp_settings_get_pointer(const rdpSettings *settings, FreeRDP_Settings_Keys_Pointer id)
Returns a immutable pointer settings value.
const char * freerdp_settings_get_type_name_for_key(SSIZE_T key)
Returns the type name for a key.
FREERDP_API BOOL freerdp_settings_set_uint32(rdpSettings *settings, FreeRDP_Settings_Keys_UInt32 id, UINT32 param)
Sets a UINT32 settings value.
const char * freerdp_settings_get_name_for_key(SSIZE_T key)
Returns the type name for a key.
FREERDP_API const char * freerdp_settings_get_string(const rdpSettings *settings, FreeRDP_Settings_Keys_String id)
Returns a immutable string settings value.
FREERDP_API BOOL freerdp_settings_set_uint16(rdpSettings *settings, FreeRDP_Settings_Keys_UInt16 id, UINT16 param)
Sets a UINT16 settings value.
const char * freerdp_settings_get_type_name_for_type(SSIZE_T type)
Returns the type name for a type.
FREERDP_API INT16 freerdp_settings_get_int16(const rdpSettings *settings, FreeRDP_Settings_Keys_Int16 id)
Returns a INT16 settings value.
FREERDP_API BOOL freerdp_settings_set_bool(rdpSettings *settings, FreeRDP_Settings_Keys_Bool id, BOOL param)
Sets a BOOL settings value.