#include "kds_s2000w_handler_opts.h"
#include "kds_s2000w_debug.h"
-#define COUNT_CUSTOM_OPTIONS 8
+#define COUNT_CUSTOM_OPTIONS 9
extern json_object* resp_config;
extern json_object* config;
int* int_value = (int*) value;
*int_value = depth;
break;
- case 5:
+ case 6:
value_object = json_object_object_get(config, "ColorMode");
_write_string_value(value_object, value);
break;
- case 6:
+ case 7:
value_object = json_object_object_get(config, "SkipBlankPages");
_write_int_value(value_object, value);
break;
- case 7:
+ case 8:
value_object = json_object_object_get(config, "AutoStart");
_write_int_value(value_object, value);
break;
- case 8:
+ case 9:
value_object = json_object_object_get(config, "ColorDropOut");
_write_string_value(value_object, value);
break;
- case 9:
+ case 10:
value_object = json_object_object_get(config, "ColorDropOutAggressiveness");
_write_int_value(value_object, value);
break;
- case 10:
+ case 11:
value_object = json_object_object_get(config, "OutputType");
_write_string_value(value_object, value);
break;
- case 11:
+ case 12:
value_object = json_object_object_get(config, "ColorAutoBrightnessMode");
_write_string_value(value_object, value);
break;
- case 12:
+ case 13:
value_object = json_object_object_get(config, "ColorBalanceMode");
_write_string_value(value_object, value);
break;
- case 13:
+ case 14:
value_object = json_object_object_get(config, "ColorBalanceAggressiveness");
_write_int_value(value_object, value);
break;
- case 14:
+ case 15:
value_object = json_object_object_get(config, "ColorBalanceRed");
_write_int_value(value_object, value);
break;
- case 15:
+ case 16:
value_object = json_object_object_get(config, "ColorBalanceGreen");
_write_int_value(value_object, value);
break;
- case 16:
+ case 17:
value_object = json_object_object_get(config, "ColorBalanceBlue");
_write_int_value(value_object, value);
break;
- case 17:
+ case 18:
value_object = json_object_object_get(config, "ForegroundBoldnessMode");
_write_string_value(value_object, value);
break;
- case 18:
+ case 19:
value_object = json_object_object_get(config, "ForegroundBoldnessAggressiveness");
_write_int_value(value_object, value);
break;
- case 19:
+ case 20:
value_object = json_object_object_get(config, "BackgroundSmoothingMode");
_write_string_value(value_object, value);
break;
- case 20:
+ case 21:
value_object = json_object_object_get(config, "BackgroundSmoothingAggressiveness");
_write_int_value(value_object, value);
break;
- case 21:
+ case 22:
value_object = json_object_object_get(config, "BinarizationMode");
_write_string_value(value_object, value);
break;
- case 22:
+ case 23:
value_object = json_object_object_get(config, "BinarizationContrast");
_write_int_value(value_object, value);
break;
- case 23:
+ case 24:
value_object = json_object_object_get(config, "MaxDocumentLength");
_write_int_value(value_object, value);
break;
- case 24:
+ case 25:
value_object = json_object_object_get(config, "ScanSource");
_write_string_value(value_object, value);
break;
- case 26:
+ case 27:
memcpy(value, &gamma_table[0][0], sizeof(int) * 256);
break;
- case 27:
+ case 28:
memcpy(value, &gamma_table[1][0], sizeof(int) * 256);
break;
- case 28:
+ case 29:
memcpy(value, &gamma_table[2][0], sizeof(int) * 256);
break;
- case 29:
+ case 30:
memcpy(value, &gamma_table[3][0], sizeof(int) * 256);
break;
default:
h->current_metadata->depth = *int_value;
*info = RELOAD_PARAMS;
break;
- case 5:
+ case 6:
value_object = json_object_object_get(config, "ColorMode");
_write_string_value_to_json(value_object, value);
value_object = NULL;
*info |= RELOAD_PARAMS;
break;
- case 6:
+ case 7:
value_object = json_object_object_get(config, "SkipBlankPages");
_write_int_value_to_json(value_object, value);
value_object = NULL;
*info = RELOAD_OPTIONS;
break;
- case 7:
+ case 8:
value_object = json_object_object_get(config, "AutoStart");
_write_int_value_to_json(value_object, value);
break;
- case 8:
+ case 9:
value_object = json_object_object_get(config, "ColorDropOut");
_write_string_value_to_json(value_object, value);
break;
- case 9:
+ case 10:
value_object = json_object_object_get(config, "ColorDropOutAggressiveness");
_write_int_value_to_json(value_object, value);
break;
- case 10:
+ case 11:
value_object = json_object_object_get(config, "OutputType");
_write_string_value_to_json(value_object, value);
value_object = NULL;
*info = RELOAD_OPTIONS;
break;
- case 11:
+ case 12:
value_object = json_object_object_get(config, "ColorAutoBrightnessMode");
_write_string_value_to_json(value_object, value);
break;
- case 12:
+ case 13:
value_object = json_object_object_get(config, "ColorBalanceMode");
_write_string_value_to_json(value_object, value);
break;
- case 13:
+ case 14:
value_object = json_object_object_get(config, "ColorBalanceAggressiveness");
_write_int_value_to_json(value_object, value);
break;
- case 14:
+ case 15:
value_object = json_object_object_get(config, "ColorBalanceRed");
_write_int_value_to_json(value_object, value);
break;
- case 15:
+ case 16:
value_object = json_object_object_get(config, "ColorBalanceGreen");
_write_int_value_to_json(value_object, value);
break;
- case 16:
+ case 17:
value_object = json_object_object_get(config, "ColorBalanceBlue");
_write_int_value_to_json(value_object, value);
break;
- case 17:
+ case 18:
value_object = json_object_object_get(config, "ForegroundBoldnessMode");
_write_string_value_to_json(value_object, value);
break;
- case 18:
+ case 19:
value_object = json_object_object_get(config, "ForegroundBoldnessAggressiveness");
_write_int_value_to_json(value_object, value);
break;
- case 19:
+ case 20:
value_object = json_object_object_get(config, "BackgroundSmoothingMode");
_write_string_value_to_json(value_object, value);
break;
- case 20:
+ case 21:
value_object = json_object_object_get(config, "BackgroundSmoothingAggressiveness");
_write_int_value_to_json(value_object, value);
break;
- case 21:
+ case 22:
value_object = json_object_object_get(config, "BinarizationMode");
_write_string_value_to_json(value_object, value);
break;
- case 22:
+ case 23:
value_object = json_object_object_get(config, "BinarizationContrast");
_write_int_value_to_json(value_object, value);
break;
- case 23:
+ case 24:
value_object = json_object_object_get(config, "MaxDocumentLength");
_write_int_value_to_json(value_object, value);
break;
- case 24:
+ case 25:
value_object = json_object_object_get(config, "ScanSource");
_write_string_value_to_json(value_object, value);
break;
- case 25:
+ case 26:
response* resp = kds_s2000w_client_response_init();
kds_s2000w_client_get_capabilities(resp);
json_object* capabilities = json_tokener_parse(resp->data);
SANE_Range* constraint_gamma_range_g = NULL;
SANE_Range* constraint_gamma_range_b = NULL;
-SANE_Option_Descriptor* _kds_s2000w_option_descriptor_num_options()
+SANE_Option_Descriptor* _kds_s2000w_option_descriptor_standard_group()
{
- debug_printf(ALL, "kds_s2000w_option_descriptor_num_options");
+ debug_printf(ALL, "kds_s2000w_option_descriptor_standard_group");
SANE_Option_Descriptor* descriptor = malloc(sizeof(SANE_Option_Descriptor));
- descriptor->name = SANE_NAME_NUM_OPTIONS;
- descriptor->title = SANE_TITLE_NUM_OPTIONS;
- descriptor->desc = SANE_DESC_NUM_OPTIONS;
+ descriptor->name = SANE_NAME_STANDARD;
+ descriptor->title = SANE_TITLE_STANDARD;
+ descriptor->desc = SANE_DESC_STANDARD;
descriptor->unit = SANE_UNIT_NONE;
descriptor->cap = SANE_CAP_SOFT_DETECT;
descriptor->constraint_type = SANE_CONSTRAINT_NONE;
- descriptor->type = SANE_TYPE_INT;
- descriptor->size = sizeof(SANE_Int);
+ descriptor->type = SANE_TYPE_GROUP;
+ descriptor->size = 0;
return descriptor;
}
-SANE_Option_Descriptor* _kds_s2000w_option_descriptor_standard_group()
+SANE_Option_Descriptor* _kds_s2000w_option_descriptor_geometry_group()
{
- debug_printf(ALL, "kds_s2000w_option_descriptor_standard_group");
+ debug_printf(ALL, "kds_s2000w_option_descriptor_scan_area_group");
SANE_Option_Descriptor* descriptor = malloc(sizeof(SANE_Option_Descriptor));
- descriptor->name = SANE_NAME_STANDARD;
- descriptor->title = SANE_TITLE_STANDARD;
- descriptor->desc = SANE_DESC_STANDARD;
+ descriptor->name = SANE_NAME_GEOMETRY;
+ descriptor->title = SANE_TITLE_GEOMETRY;
+ descriptor->desc = SANE_DESC_GEOMETRY;
descriptor->unit = SANE_UNIT_NONE;
descriptor->cap = SANE_CAP_SOFT_DETECT;
descriptor->constraint_type = SANE_CONSTRAINT_NONE;
return descriptor;
}
+SANE_Option_Descriptor* _kds_s2000w_option_descriptor_num_options()
+{
+ debug_printf(ALL, "kds_s2000w_option_descriptor_num_options");
+ SANE_Option_Descriptor* descriptor = malloc(sizeof(SANE_Option_Descriptor));
+
+ descriptor->name = SANE_NAME_NUM_OPTIONS;
+ descriptor->title = SANE_TITLE_NUM_OPTIONS;
+ descriptor->desc = SANE_DESC_NUM_OPTIONS;
+ descriptor->unit = SANE_UNIT_NONE;
+ descriptor->cap = SANE_CAP_SOFT_DETECT;
+ descriptor->constraint_type = SANE_CONSTRAINT_NONE;
+ descriptor->type = SANE_TYPE_INT;
+ descriptor->size = sizeof(SANE_Int);
+
+ return descriptor;
+}
+
SANE_Option_Descriptor* _kds_s2000w_option_descriptor_dpi()
{
debug_printf(ALL, "kds_s2000w_option_descriptor_dpi");
descriptor_array[2] = _kds_s2000w_option_descriptor_dpi();
descriptor_array[3] = _kds_s2000w_option_descriptor_scanside();
descriptor_array[4] = _kds_s2000w_option_descriptor_depth();
- descriptor_array[5] = _kds_s2000w_option_descriptor_color_mode();
- descriptor_array[6] = _kds_s2000w_option_descriptor_skip_blank_pages();
- descriptor_array[7] = _kds_s2000w_option_descriptor_auto_start();
- descriptor_array[8] = _kds_s2000w_option_descriptor_color_drop();
- descriptor_array[9] = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
- descriptor_array[10] = _kds_s2000w_option_descriptor_output_type();
- descriptor_array[11] = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
- descriptor_array[12] = _kds_s2000w_option_descriptor_color_balance_mode();
- descriptor_array[13] = _kds_s2000w_option_descriptor_color_balancea_agressiveness();
- descriptor_array[14] = _kds_s2000w_option_descriptor_color_balance_red();
- descriptor_array[15] = _kds_s2000w_option_descriptor_color_balance_green();
- descriptor_array[16] = _kds_s2000w_option_descriptor_color_balance_blue();
- descriptor_array[17] = _kds_s2000w_option_descriptor_foreground_boldness_mode();
- descriptor_array[18] = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
- descriptor_array[19] = _kds_s2000w_option_descriptor_background_smoothing_mode();
- descriptor_array[20] = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
- descriptor_array[21] = _kds_s2000w_option_descriptor_binarization_mode();
- descriptor_array[22] = _kds_s2000w_option_descriptor_binarization_contrast();
- descriptor_array[23] = _kds_s2000w_option_descriptor_max_document_length();
- descriptor_array[24] = _kds_s2000w_option_descriptor_scan_source();
- descriptor_array[25] = _kds_s2000w_option_descriptor_config_reset();
- descriptor_array[26] = _kds_s2000w_option_descriptor_gamma_vector();
- descriptor_array[27] = _kds_s2000w_option_descriptor_gamma_vector_r();
- descriptor_array[28] = _kds_s2000w_option_descriptor_gamma_vector_g();
- descriptor_array[29] = _kds_s2000w_option_descriptor_gamma_vector_b();
+ descriptor_array[5] = _kds_s2000w_option_descriptor_geometry_group();
+ descriptor_array[6] = _kds_s2000w_option_descriptor_color_mode();
+ descriptor_array[7] = _kds_s2000w_option_descriptor_skip_blank_pages();
+ descriptor_array[8] = _kds_s2000w_option_descriptor_auto_start();
+ descriptor_array[9] = _kds_s2000w_option_descriptor_color_drop();
+ descriptor_array[10] = _kds_s2000w_option_descriptor_color_drop_out_aggressiveness();
+ descriptor_array[11] = _kds_s2000w_option_descriptor_output_type();
+ descriptor_array[12] = _kds_s2000w_option_descriptor_color_auto_brightness_mode();
+ descriptor_array[13] = _kds_s2000w_option_descriptor_color_balance_mode();
+ descriptor_array[14] = _kds_s2000w_option_descriptor_color_balancea_agressiveness();
+ descriptor_array[15] = _kds_s2000w_option_descriptor_color_balance_red();
+ descriptor_array[16] = _kds_s2000w_option_descriptor_color_balance_green();
+ descriptor_array[17] = _kds_s2000w_option_descriptor_color_balance_blue();
+ descriptor_array[18] = _kds_s2000w_option_descriptor_foreground_boldness_mode();
+ descriptor_array[19] = _kds_s2000w_option_descriptor_foreground_boldness_aggressiveness();
+ descriptor_array[20] = _kds_s2000w_option_descriptor_background_smoothing_mode();
+ descriptor_array[21] = _kds_s2000w_option_descriptor_background_smoothing_aggressiveness();
+ descriptor_array[22] = _kds_s2000w_option_descriptor_binarization_mode();
+ descriptor_array[23] = _kds_s2000w_option_descriptor_binarization_contrast();
+ descriptor_array[24] = _kds_s2000w_option_descriptor_max_document_length();
+ descriptor_array[25] = _kds_s2000w_option_descriptor_scan_source();
+ descriptor_array[26] = _kds_s2000w_option_descriptor_config_reset();
+ descriptor_array[27] = _kds_s2000w_option_descriptor_gamma_vector();
+ descriptor_array[28] = _kds_s2000w_option_descriptor_gamma_vector_r();
+ descriptor_array[29] = _kds_s2000w_option_descriptor_gamma_vector_g();
+ descriptor_array[30] = _kds_s2000w_option_descriptor_gamma_vector_b();
}
void kds_s2000w_option_descriptor_free_option_descriptors()