mirror of
https://github.com/morgan9e/FreeRDP
synced 2026-04-15 00:44:19 +09:00
Added getter/setter for settings
This commit is contained in:
@@ -110,7 +110,9 @@ def write_str(f, entry_dict):
|
||||
f.write('\t\t\tcase 7: /* strings */\n')
|
||||
f.write('\t\t\t{\n')
|
||||
f.write('\t\t\t\tconst char* sval = freerdp_settings_get_string(src, cur->id);\n')
|
||||
f.write('\t\t\t\tif (!freerdp_settings_set_string_(dst, cur->id, sval, FALSE))\n')
|
||||
f.write('\t\t\t\t\tsize_t len = 0;\n')
|
||||
f.write('\t\t\t\t\tif (sval) len = strlen(sval);\n')
|
||||
f.write('\t\t\t\tif (!freerdp_settings_set_string_(dst, cur->id, sval, len, FALSE))\n')
|
||||
f.write('\t\t\t\t\treturn FALSE;\n')
|
||||
f.write('\t\t\t}\n')
|
||||
f.write('\t\t\tbreak;\n')
|
||||
@@ -204,10 +206,10 @@ def write_str(f, entry_dict):
|
||||
f.write('\t\tswitch(cur->type)\n')
|
||||
f.write('\t\t{\n')
|
||||
f.write('\t\t\tcase 7: /* strings */\n')
|
||||
f.write('\t\t\t\tfreerdp_settings_set_string_(dst, cur->id, NULL, cleanup);\n')
|
||||
f.write('\t\t\t\tfreerdp_settings_set_string_(dst, cur->id, NULL, 0, cleanup);\n')
|
||||
f.write('\t\t\tbreak;\n')
|
||||
f.write('\t\t\tcase 8: /* pointer */\n')
|
||||
f.write('\t\t\t\tfreerdp_settings_set_pointer(dst, cur->id, NULL);\n')
|
||||
f.write('\t\t\t\tfreerdp_settings_set_pointer_len(dst, cur->id, NULL, 0);\n')
|
||||
f.write('\t\t\tbreak;\n')
|
||||
f.write('\t\t}\n')
|
||||
f.write('\t}\n')
|
||||
@@ -273,12 +275,15 @@ def write_getter(f, entry_dict, entry_type, entry_name):
|
||||
values = get_values(entry_dict, entry_type)
|
||||
|
||||
if isPointer:
|
||||
f.write('const void*')
|
||||
f.write('void*')
|
||||
elif isString:
|
||||
f.write('const ' + entry_type)
|
||||
else:
|
||||
f.write(entry_type)
|
||||
f.write(' freerdp_settings_get_' + entry_name.lower() + '(const rdpSettings* settings, size_t id)\n')
|
||||
if isPointer:
|
||||
f.write(' freerdp_settings_get_pointer_writable(const rdpSettings* settings, size_t id)\n')
|
||||
else:
|
||||
f.write(' freerdp_settings_get_' + entry_name.lower() + '(const rdpSettings* settings, size_t id)\n')
|
||||
f.write('{\n')
|
||||
f.write('\tif (!settings)\n')
|
||||
f.write('\t\treturn FALSE;\n\n')
|
||||
@@ -304,7 +309,7 @@ def write_setter_case(f, val, isString, isPointer):
|
||||
else:
|
||||
f.write('\t\t\tif (cleanup)\n')
|
||||
f.write('\t\t\t\tfree(settings->' + val + ');\n')
|
||||
f.write('\t\t\tsettings->' + val + ' = (val ? _strdup(val) : NULL);\n')
|
||||
f.write('\t\t\tsettings->' + val + ' = (val ? strndup(val, len) : NULL);\n')
|
||||
f.write('\t\t\treturn (!val || settings->' + val + ' != NULL);\n\n')
|
||||
|
||||
def write_setter(f, entry_dict, entry_type, entry_name):
|
||||
@@ -323,7 +328,7 @@ def write_setter(f, entry_dict, entry_type, entry_name):
|
||||
else:
|
||||
f.write('void* val')
|
||||
if isString:
|
||||
f.write(', BOOL cleanup)\n')
|
||||
f.write(', size_t len, BOOL cleanup)\n')
|
||||
else:
|
||||
f.write(')\n')
|
||||
f.write('{\n')
|
||||
@@ -342,16 +347,17 @@ def write_setter(f, entry_dict, entry_type, entry_name):
|
||||
f.write('}\n\n')
|
||||
f.write('\n')
|
||||
if isString:
|
||||
f.write('BOOL freerdp_settings_set_' + entry_name.lower() + '(rdpSettings* settings, size_t id, ')
|
||||
if isString or isPointer:
|
||||
f.write('const ')
|
||||
if not isPointer:
|
||||
f.write(entry_type + ' val')
|
||||
else:
|
||||
f.write('void* val')
|
||||
f.write(')\n')
|
||||
f.write('BOOL freerdp_settings_set_string_len(rdpSettings* settings, size_t id, const char* val, size_t len)\n')
|
||||
f.write('{\n')
|
||||
f.write('\treturn freerdp_settings_set_' + entry_name.lower() + '_(settings, id, val, TRUE);\n')
|
||||
f.write('\treturn freerdp_settings_set_string_(settings, id, val, len, TRUE);\n')
|
||||
f.write('}\n')
|
||||
f.write('\n')
|
||||
|
||||
f.write('BOOL freerdp_settings_set_string(rdpSettings* settings, size_t id, const char* val)\n')
|
||||
f.write('{\n')
|
||||
f.write('\tsize_t len = 0;\n')
|
||||
f.write('\tif (val) len = strlen(val);\n')
|
||||
f.write('\treturn freerdp_settings_set_string_(settings, id, val, len, TRUE);\n')
|
||||
f.write('}\n')
|
||||
f.write('\n')
|
||||
|
||||
@@ -399,6 +405,7 @@ try:
|
||||
f.write('/* Generated by ' + '' + ' */\n\n')
|
||||
f.write('#include <freerdp/settings.h>\n')
|
||||
f.write('#include <freerdp/log.h>\n\n')
|
||||
f.write('#include "../core/settings.h"\n\n')
|
||||
f.write('#define TAG FREERDP_TAG("common.settings")\n\n')
|
||||
|
||||
getter_list = dict(type_list)
|
||||
|
||||
Reference in New Issue
Block a user