From: Bastian Dehn Date: Sun, 28 Jan 2024 10:39:05 +0000 (+0100) Subject: implements set option to json X-Git-Tag: v1.0.0^2~406 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=ffa94fe38dd06b2603bb1ecb73931a65530b3e66;p=sane-kds-s2000w-net.git implements set option to json --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 9dc9dc4..464128e 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -25,6 +25,18 @@ void _write_int_value(json_object* value_object, void* value) *int_value_ptr = json_object_get_int(value_object);; } +void _write_string_value_to_json(json_object* value_object, void* value) +{ + char* char_value = (char*) value; + json_object_set_string(value_object, char_value); +} + +void _write_int_value_to_json(json_object* value_object, void* value) +{ + int* int_value_ptr = (int*) value; + json_object_set_int(value_object, *int_value_ptr); +} + current_state* kds_s2000w_handler_open() { state = malloc(sizeof(current_state)); @@ -199,7 +211,100 @@ void kds_s2000w_handler_get_option(int option, void* value) void kds_s2000w_handler_set_option(int option, void* value) { - return; + config = json_object_object_get(resObj, "Configuration"); + json_object* value_object = NULL; + switch(option) { + case 2: + value_object = json_object_object_get(config, "DPI"); + _write_int_value_to_json(value_object, value); + break; + case 3: + value_object = json_object_object_get(config, "ScanSide"); + _write_string_value_to_json(value_object, value); + break; + case 4: + value_object = json_object_object_get(config, "ColorMode"); + _write_string_value_to_json(value_object, value); + break; + case 5: + value_object = json_object_object_get(config, "SkipBlankPages"); + _write_int_value_to_json(value_object, value); + break; + case 6: + value_object = json_object_object_get(config, "AutoStart"); + _write_int_value_to_json(value_object, value); + break; + case 7: + value_object = json_object_object_get(config, "ColorDropOut"); + _write_string_value_to_json(value_object, value); + break; + case 8: + value_object = json_object_object_get(config, "ColorDropOutAggressiveness"); + _write_int_value_to_json(value_object, value); + break; + case 9: + value_object = json_object_object_get(config, "OutputType"); + _write_string_value_to_json(value_object, value); + break; + case 10: + value_object = json_object_object_get(config, "ColorAutoBrightnessMode"); + _write_string_value_to_json(value_object, value); + break; + case 11: + value_object = json_object_object_get(config, "ColorBalanceMode"); + _write_string_value_to_json(value_object, value); + break; + case 12: + value_object = json_object_object_get(config, "ColorBalanceAggressiveness"); + _write_int_value_to_json(value_object, value); + break; + case 13: + value_object = json_object_object_get(config, "ColorBalanceRed"); + _write_int_value_to_json(value_object, value); + break; + case 14: + value_object = json_object_object_get(config, "ColorBalanceGreen"); + _write_int_value_to_json(value_object, value); + break; + case 15: + value_object = json_object_object_get(config, "ColorBalanceBlue"); + _write_int_value_to_json(value_object, value); + break; + case 16: + value_object = json_object_object_get(config, "ForegroundBoldnessMode"); + _write_string_value_to_json(value_object, value); + break; + case 17: + value_object = json_object_object_get(config, "ForegroundBoldnessAggressiveness"); + _write_int_value_to_json(value_object, value); + break; + case 18: + value_object = json_object_object_get(config, "BackgroundSmoothingMode"); + _write_string_value_to_json(value_object, value); + break; + case 19: + value_object = json_object_object_get(config, "BackgroundSmoothingAggressiveness"); + _write_int_value_to_json(value_object, value); + break; + case 20: + value_object = json_object_object_get(config, "BinarizationMode"); + _write_string_value_to_json(value_object, value); + break; + case 21: + value_object = json_object_object_get(config, "BinarizationContrast"); + _write_int_value_to_json(value_object, value); + break; + case 22: + value_object = json_object_object_get(config, "MaxDocumentLength"); + _write_int_value_to_json(value_object, value); + break; + case 23: + value_object = json_object_object_get(config, "ScanSource"); + _write_string_value_to_json(value_object, value); + break; + default: + break; + } } void kds_s2000w_handler_set_option_auto(int option)