From: Bastian Dehn Date: Sat, 27 Jan 2024 20:33:42 +0000 (+0100) Subject: add standard group X-Git-Tag: v1.0.0^2~409 X-Git-Url: https://gitweb.hhaalo.de/?a=commitdiff_plain;h=becbc25338fc2e64522526c39daf6c04cf2e2010;p=sane-kds-s2000w-net.git add standard group --- diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index a0225c1..9dc9dc4 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -104,91 +104,91 @@ void kds_s2000w_handler_get_option(int option, void* value) int* int_value_ptr = (int*) value; *int_value_ptr = json_object_object_length(config) + 1; break; - case 1: + case 2: value_object = json_object_object_get(config, "DPI"); _write_int_value(value_object, value); break; - case 2: + case 3: value_object = json_object_object_get(config, "ScanSide"); _write_string_value(value_object, value); break; - case 3: + case 4: value_object = json_object_object_get(config, "ColorMode"); _write_string_value(value_object, value); break; - case 4: + case 5: value_object = json_object_object_get(config, "SkipBlankPages"); _write_int_value(value_object, value); break; - case 5: + case 6: value_object = json_object_object_get(config, "AutoStart"); _write_int_value(value_object, value); break; - case 6: + case 7: value_object = json_object_object_get(config, "ColorDropOut"); _write_string_value(value_object, value); break; - case 7: + case 8: value_object = json_object_object_get(config, "ColorDropOutAggressiveness"); _write_int_value(value_object, value); break; - case 8: + case 9: value_object = json_object_object_get(config, "OutputType"); _write_string_value(value_object, value); break; - case 9: + case 10: value_object = json_object_object_get(config, "ColorAutoBrightnessMode"); _write_string_value(value_object, value); break; - case 10: + case 11: value_object = json_object_object_get(config, "ColorBalanceMode"); _write_string_value(value_object, value); break; - case 11: + case 12: value_object = json_object_object_get(config, "ColorBalanceAggressiveness"); _write_int_value(value_object, value); break; - case 12: + case 13: value_object = json_object_object_get(config, "ColorBalanceRed"); _write_int_value(value_object, value); break; - case 13: + case 14: value_object = json_object_object_get(config, "ColorBalanceGreen"); _write_int_value(value_object, value); break; - case 14: + case 15: value_object = json_object_object_get(config, "ColorBalanceBlue"); _write_int_value(value_object, value); break; - case 15: + case 16: value_object = json_object_object_get(config, "ForegroundBoldnessMode"); _write_string_value(value_object, value); break; - case 16: + case 17: value_object = json_object_object_get(config, "ForegroundBoldnessAggressiveness"); _write_int_value(value_object, value); break; - case 17: + case 18: value_object = json_object_object_get(config, "BackgroundSmoothingMode"); _write_string_value(value_object, value); break; - case 18: + case 19: value_object = json_object_object_get(config, "BackgroundSmoothingAggressiveness"); _write_int_value(value_object, value); break; - case 19: + case 20: value_object = json_object_object_get(config, "BinarizationMode"); _write_string_value(value_object, value); break; - case 20: + case 21: value_object = json_object_object_get(config, "BinarizationContrast"); _write_int_value(value_object, value); break; - case 21: + case 22: value_object = json_object_object_get(config, "MaxDocumentLength"); _write_int_value(value_object, value); break; - case 22: + case 23: value_object = json_object_object_get(config, "ScanSource"); _write_string_value(value_object, value); break; diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index e9f07a7..8c6e055 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -5,7 +5,7 @@ #include #include "kds_s2000w_handler.h" -#define MAX_OPTION_COUNT 23 +#define MAX_OPTION_COUNT 24 SANE_Option_Descriptor* option_descriptors = NULL; @@ -180,6 +180,15 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( option_descriptors[option].constraint.string_list = NULL; break; case 1: + option_descriptors[option].name = SANE_NAME_STANDARD; + option_descriptors[option].title = SANE_TITLE_STANDARD; + option_descriptors[option].desc = SANE_DESC_STANDARD; + option_descriptors[option].unit = SANE_UNIT_NONE; + option_descriptors[option].cap = SANE_CAP_SOFT_DETECT; + option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE; + option_descriptors[option].constraint.string_list = NULL; + break; + case 2: option_descriptors[option].name = SANE_NAME_SCAN_RESOLUTION; option_descriptors[option].title = SANE_TITLE_SCAN_RESOLUTION; option_descriptors[option].desc = SANE_DESC_SCAN_RESOLUTION; @@ -191,7 +200,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_dpi[2] = 300; option_descriptors[option].constraint.word_list = constraint_dpi; break; - case 2: + case 3: option_descriptors[option].name = "scanside"; option_descriptors[option].title = "Duplex Mode"; option_descriptors[option].desc = "Duplex Mode"; @@ -202,7 +211,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_scanside[2] = NULL; option_descriptors[option].constraint.string_list = constraint_scanside; break; - case 3: + case 4: option_descriptors[option].name = SANE_NAME_SCAN_MODE; option_descriptors[option].title = SANE_TITLE_SCAN_MODE; option_descriptors[option].desc = SANE_DESC_SCAN_MODE; @@ -215,7 +224,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_colormode[4] = NULL; option_descriptors[option].constraint.string_list = constraint_colormode; break; - case 4: + case 5: option_descriptors[option].name = "skip-blank-pages"; option_descriptors[option].title = "Blank Image Deletion Mode"; option_descriptors[option].desc = "Blank Image Deletion Mode"; @@ -223,7 +232,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE; option_descriptors[option].constraint.string_list = NULL; break; - case 5: + case 6: option_descriptors[option].name = "autostart"; option_descriptors[option].title = "autostart"; option_descriptors[option].desc = "autostart"; @@ -231,7 +240,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( option_descriptors[option].constraint_type = SANE_CONSTRAINT_NONE; option_descriptors[option].constraint.string_list = NULL; break; - case 6: + case 7: option_descriptors[option].name = "colordrop"; option_descriptors[option].title = "colordrop"; option_descriptors[option].desc = "colordrop"; @@ -248,7 +257,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_colordrop[8] = NULL; option_descriptors[option].constraint.string_list = constraint_colordrop; break; - case 7: + case 8: option_descriptors[option].name = "colordropoutaggressiveness"; option_descriptors[option].title = "colordropoutaggressiveness"; option_descriptors[option].desc = "colordropoutaggressiveness"; @@ -259,7 +268,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_color_drop_out_aggressiveness_range->quant = 1; option_descriptors[option].constraint.range = constraint_color_drop_out_aggressiveness_range; break; - case 8: + case 9: option_descriptors[option].name = "outputtype"; option_descriptors[option].title = "outputtype"; option_descriptors[option].desc = "outputtype"; @@ -270,7 +279,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_output_type[2] = NULL; option_descriptors[option].constraint.string_list = constraint_output_type; break; - case 9: + case 10: option_descriptors[option].name = "colorautobrightnessmode"; option_descriptors[option].title = "colorautobrightnessmode"; option_descriptors[option].desc = "colorautobrightnessmode"; @@ -281,7 +290,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_color_auto_brightnessmode[2] = NULL; option_descriptors[option].constraint.string_list = constraint_color_auto_brightnessmode; break; - case 10: + case 11: option_descriptors[option].name = "colorbalancemode"; option_descriptors[option].title = "colorbalancemode"; option_descriptors[option].desc = "colorbalancemode"; @@ -294,7 +303,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_color_balance_mode[4] = NULL; option_descriptors[option].constraint.string_list = constraint_color_balance_mode; break; - case 11: + case 12: option_descriptors[option].name = "colorbalanceaggressiveness"; option_descriptors[option].title = "colorbalanceaggressiveness"; option_descriptors[option].desc = "colorbalanceaggressiveness"; @@ -305,7 +314,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_color_balance_aggressiveness->quant = 1; option_descriptors[option].constraint.range = constraint_color_balance_aggressiveness; break; - case 12: + case 13: option_descriptors[option].name = "colorbalancered"; option_descriptors[option].title = "colorbalancered"; option_descriptors[option].desc = "colorbalancered"; @@ -316,7 +325,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_color_balance_red->quant = 1; option_descriptors[option].constraint.range = constraint_color_balance_red; break; - case 13: + case 14: option_descriptors[option].name = "colorbalancegreen"; option_descriptors[option].title = "colorbalancegreen"; option_descriptors[option].desc = "colorbalancegreen"; @@ -327,7 +336,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_color_balance_green->quant = 1; option_descriptors[option].constraint.range = constraint_color_balance_green; break; - case 14: + case 15: option_descriptors[option].name = "color-balance-blue"; option_descriptors[option].title = "colorbalanceblue"; option_descriptors[option].desc = "colorbalanceblue"; @@ -338,7 +347,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_color_balance_blue->quant = 1; option_descriptors[option].constraint.range = constraint_color_balance_blue; break; - case 15: + case 16: option_descriptors[option].name = "foreground-boldness-mode"; option_descriptors[option].title = "Foreground Boldness Mode"; option_descriptors[option].desc = "Foreground Boldness Mode"; @@ -350,7 +359,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_foreground_boldness_mode[3] = NULL; option_descriptors[option].constraint.string_list = constraint_foreground_boldness_mode; break; - case 16: + case 17: option_descriptors[option].name = "foreground-boldness-aggressiveness"; option_descriptors[option].title = "Foreground Boldness Mode"; option_descriptors[option].desc = "Foreground Boldness Mode"; @@ -361,7 +370,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_foreground_boldness_aggressiveness->quant = 1; option_descriptors[option].constraint.range = constraint_foreground_boldness_aggressiveness; break; - case 17: + case 18: option_descriptors[option].name = "background-smoothing-mode"; option_descriptors[option].title = "Background Smoothing Mode"; option_descriptors[option].desc = "Background Smoothing Mode"; @@ -373,7 +382,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_background_smoothing_mode[3] = NULL; option_descriptors[option].constraint.string_list = constraint_background_smoothing_mode; break; - case 18: + case 19: option_descriptors[option].name = "background-smoothing-aggressiveness"; option_descriptors[option].title = "Background Smoothing Aggressivenes"; option_descriptors[option].desc = "Background Smoothing Aggressivenes"; @@ -384,7 +393,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_background_smoothing_aggressivness->quant = 1; option_descriptors[option].constraint.range = constraint_background_smoothing_aggressivness; break; - case 19: + case 20: option_descriptors[option].name = "binarization-mode"; option_descriptors[option].title = "binarizationmode"; option_descriptors[option].desc = "binarizationmode"; @@ -394,7 +403,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_binarization_mode[1] = NULL; option_descriptors[option].constraint.string_list = constraint_binarization_mode; break; - case 20: + case 21: option_descriptors[option].name = SANE_NAME_CONTRAST; option_descriptors[option].title = SANE_TITLE_CONTRAST; option_descriptors[option].desc = SANE_DESC_CONTRAST; @@ -405,7 +414,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_binarization_contrast->quant = 1; option_descriptors[option].constraint.range = constraint_binarization_contrast; break; - case 21: + case 22: option_descriptors[option].name = "maxdocumentlength"; option_descriptors[option].title = "maxdocumentlength"; option_descriptors[option].desc = "maxdocumentlength"; @@ -415,7 +424,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( constraint_max_document_length[1] = NULL; option_descriptors[option].constraint.string_list = constraint_max_document_length; break; - case 22: + case 23: option_descriptors[option].name = SANE_NAME_SCAN_SOURCE; option_descriptors[option].title = SANE_TITLE_SCAN_SOURCE; option_descriptors[option].desc = SANE_DESC_SCAN_SOURCE; @@ -435,35 +444,39 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( switch (option) { case 0: - case 1: - case 7: - case 11: + case 2: + case 8: case 12: case 13: case 14: - case 16: - case 18: - case 20: + case 15: + case 17: + case 19: case 21: + case 22: option_descriptors[option].type = SANE_TYPE_INT; option_descriptors[option].size = sizeof(SANE_Int); break; - case 2: + case 1: + option_descriptors[option].type = SANE_TYPE_GROUP; + option_descriptors[option].size = 0; + break; case 3: - case 6: - case 8: + case 4: + case 7: case 9: case 10: - case 15: - case 17: - case 19: - case 22: + case 11: + case 16: + case 18: + case 20: + case 23: option_descriptors[option].type = SANE_TYPE_STRING; option_descriptors[option].unit = SANE_UNIT_NONE; option_descriptors[option].size = sizeof(SANE_String) * 50; break; - case 4: case 5: + case 6: option_descriptors[option].type = SANE_TYPE_BOOL; option_descriptors[option].size = sizeof(SANE_Bool); break;