#define AUTOSTART_ON 1
#define OPTION_COUNT 47
-__attribute_deprecated__ void _kds_s2000w_handler_opts_write_string_value_to_json(json_object* value_object, void* value)
+void _kds_s2000w_handler_opts_write_value_to_json(json_object* value_object, SANE_Value_Type value_type, void* value)
{
- char* char_value = (char*) value;
- json_object_set_string(value_object, char_value);
-}
+ if (value_type == SANE_TYPE_INT || value_type == SANE_TYPE_BOOL) {
+ int32_t* int_value_ptr = (int32_t*) value;
+ json_object_set_int(value_object, *int_value_ptr);
+ }
-__attribute_deprecated__ void _kds_s2000w_handler_opts_write_int_value_to_json(json_object* value_object, void* value)
-{
- int32_t* int_value_ptr = (int32_t*) value;
- json_object_set_int(value_object, *int_value_ptr);
+ if (value_type == SANE_TYPE_STRING) {
+ char* char_value = (char*) value;
+ json_object_set_string(value_object, char_value);
+ }
}
void _kds_s2000w_handler_opts_write_value(json_object* value_object, SANE_Value_Type value_type, void* value)
{
uint32_t auto_start_value = AUTOSTART_ON;
json_object* value_object = json_object_object_get(config, "AutoStart");
- _kds_s2000w_handler_opts_write_int_value_to_json(value_object, &auto_start_value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, SANE_TYPE_INT, &auto_start_value);
}
void _kds_s2000w_handler_opts_set_option_to_default(handler* h)
SANE_Option_Descriptor* cropping_image = kds_s2000w_option_descriptors_get_by_name("cropping-image");
if (strcmp(cropping_mode_value, "Automatic") == 0) {
- _kds_s2000w_handler_opts_write_string_value_to_json(copping_image, "EntireDocument");
+ _kds_s2000w_handler_opts_write_value_to_json(copping_image, cropping_image->type, "EntireDocument");
cropping_image->cap &= ~SANE_CAP_SOFT_SELECT;
return;
}
if (strcmp(cropping_mode_value, "Manual") == 0) {
- _kds_s2000w_handler_opts_write_string_value_to_json(copping_image, "PartialDocument");
+ _kds_s2000w_handler_opts_write_value_to_json(copping_image, cropping_image->type, "PartialDocument");
cropping_image->cap &= ~SANE_CAP_SOFT_SELECT;
return;
}
switch(option) {
case 2:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
if (strcmp(value, "Flatbed") == 0)
h->current_scan_status->feeder = Flatbed;
break;
case 3:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
if (info != NULL)
*info = RELOAD_PARAMS;
case 41:
case 45:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_int_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
break;
case 5:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
break;
case 7:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
_kds_s2000w_handler_opts_set_enable_cropping_image(config);
_kds_s2000w_handler_opts_set_enable_suboptions_cropping_image(config);
break;
case 8:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
_kds_s2000w_handler_opts_set_enable_suboptions_cropping_image(config);
if (info != NULL)
break;
case 14:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
_kds_s2000w_handler_opts_set_enable_boldness_aggressiveness(config);
if (info != NULL)
break;
case 16:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
_kds_s2000w_handler_opts_set_enable_smoothing_aggressiveness(config);
if (info != NULL)
break;
case 19:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
_kds_s2000w_handler_opts_set_enable_color_drop_out_aggressiveness(config);
if (info != NULL)
break;
case 21:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
_kds_s2000w_handler_opts_set_enable_color_brightness_and_contrast(config);
if (info != NULL)
break;
case 24:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
_kds_s2000w_handler_opts_set_enable_color_balance(config);
_kds_s2000w_handler_opts_set_enable_color_aggressiveness(config);
case 44:
case 46:
value_object = json_object_object_get(config, descriptor->config_name);
- _kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
+ _kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor.type, value);
break;
case 31:
_kds_s2000w_handler_opts_set_option_to_default(h);