]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add standard group
authorBastian Dehn <hhaalo@arcor.de>
Sat, 27 Jan 2024 20:33:42 +0000 (21:33 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sat, 27 Jan 2024 20:33:42 +0000 (21:33 +0100)
src/kds_s2000w_handler.c
src/kds_s2000w_net.c

index a0225c1b18bab77a58773aa2a3470997b2b78e83..9dc9dc4a0c786ee081c975796caa852f975bd101 100644 (file)
@@ -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;
index e9f07a703a6e68c545ee8dde28722e8beea3d261..8c6e055a505ab42096a6347ef43df8b0e0efb97e 100644 (file)
@@ -5,7 +5,7 @@
 #include <sane/saneopts.h>
 #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;