void kds_s2000w_handler_opts_get_option(handler* h, uint32_t option, void* value, int32_t* info)
{
json_object* config = NULL;
- json_object* value_object = NULL;
if (h->current_scanner_config == NULL) {
_kds_s2000w_handler_opts_load_options(h);
if (h->current_scanner_config != NULL)
config = json_object_object_get(h->current_scanner_config, "Configuration");
+ option_descriptor* descriptor = kds_s2000w_option_descriptor_full_get_by_number(option);
+ json_object* value_object = NULL;
switch(option) {
case 0:
config = json_object_object_get(h->current_scanner_config, "Configuration");
*int_value_ptr = OPTION_COUNT;
break;
case 2:
- value_object = json_object_object_get(config, "ScanSource");
+ value_object = json_object_object_get(config, descriptor->config_name);
_kds_s2000w_handler_opts_write_string_value(value_object, value);
if (strcmp(value, "Flatbed") == 0)
break;
case 3:
- value_object = json_object_object_get(config, "ColorMode");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
- case 4:
- value_object = json_object_object_get(config, "DPI");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 5:
- value_object = json_object_object_get(config, "ScanSide");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 7:
- value_object = json_object_object_get(config, "CroppingMode");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 8:
- value_object = json_object_object_get(config, "CroppingImage");
+ case 14:
+ case 16:
+ case 19:
+ case 21:
+ case 24:
+ case 29:
+ case 36:
+ case 37:
+ case 38:
+ case 39:
+ case 42:
+ case 43:
+ case 44:
+ case 46:
+ value_object = json_object_object_get(config, descriptor->config_name);
_kds_s2000w_handler_opts_write_string_value(value_object, value);
break;
+ case 4:
case 9:
- value_object = json_object_object_get(config, "ImageOffsetX");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 10:
- value_object = json_object_object_get(config, "ImageOffsetY");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 11:
- value_object = json_object_object_get(config, "ImageWidth");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 12:
- value_object = json_object_object_get(config, "ImageHeight");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 14:
- value_object = json_object_object_get(config, "ForegroundBoldnessMode");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 15:
- value_object = json_object_object_get(config, "ForegroundBoldnessAggressiveness");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 16:
- value_object = json_object_object_get(config, "BackgroundSmoothingMode");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 17:
- value_object = json_object_object_get(config, "BackgroundSmoothingAggressiveness");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 19:
- value_object = json_object_object_get(config, "ColorDropOut");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 20:
- value_object = json_object_object_get(config, "ColorDropOutAggressiveness");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 21:
- value_object = json_object_object_get(config, "ColorAutoBrightnessMode");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 22:
- value_object = json_object_object_get(config, "ColorBrightness");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 23:
- value_object = json_object_object_get(config, "ColorContrast");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 24:
- value_object = json_object_object_get(config, "ColorBalanceMode");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 25:
- value_object = json_object_object_get(config, "ColorBalanceAggressiveness");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 26:
- value_object = json_object_object_get(config, "ColorBalanceRed");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 27:
- value_object = json_object_object_get(config, "ColorBalanceGreen");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 28:
- value_object = json_object_object_get(config, "ColorBalanceBlue");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 29:
- value_object = json_object_object_get(config, "ColorSharpen");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 30:
- value_object = json_object_object_get(config, "BinarizationContrast");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 33:
- value_object = json_object_object_get(config, "SkipBlankPages");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 34:
- value_object = json_object_object_get(config, "SkipBlankPagesContent");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
case 35:
- value_object = json_object_object_get(config, "HoleFill");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 36:
- value_object = json_object_object_get(config, "PostScanRotation");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
- case 37:
- value_object = json_object_object_get(config, "EdgeFill");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
- case 38:
- value_object = json_object_object_get(config, "ImageBorder");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
- case 39:
- value_object = json_object_object_get(config, "JpegQuality");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 41:
- value_object = json_object_object_get(config, "MaxDocumentLength");
- _kds_s2000w_handler_opts_write_int_value(value_object, value);
- break;
- case 42:
- value_object = json_object_object_get(config, "TransportHandling");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
- case 43:
- value_object = json_object_object_get(config, "MultifeedSensitivity");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
- case 44:
- value_object = json_object_object_get(config, "MultifeedResponse");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
case 45:
- value_object = json_object_object_get(config, "DocumentFeederTimeout");
+ value_object = json_object_object_get(config, descriptor->config_name);
_kds_s2000w_handler_opts_write_int_value(value_object, value);
break;
- case 46:
- value_object = json_object_object_get(config, "DocumentFeederTimeoutResponse");
- _kds_s2000w_handler_opts_write_string_value(value_object, value);
- break;
default:
break;
}