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