From e0fc4df4051455c1a02bed6b9ff07096f266f975 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 18 Feb 2025 17:47:53 +0100 Subject: [PATCH] add feeder option group --- src/kds_s2000w_handler_opts.c | 2 +- src/kds_s2000w_option_descriptors.c | 21 ++++++++++++++++++- tests/kds_s2000w_net_get_opt_tests.c | 2 +- tests/kds_s2000w_option_descriptor_tests.c | 16 +++++++++++++- tests/kds_s2000w_option_descriptor_tests.h | 1 + .../kds_s2000w_option_descriptor_tests_run.c | 1 + 6 files changed, 39 insertions(+), 4 deletions(-) diff --git a/src/kds_s2000w_handler_opts.c b/src/kds_s2000w_handler_opts.c index 3628426..7d0e3d5 100644 --- a/src/kds_s2000w_handler_opts.c +++ b/src/kds_s2000w_handler_opts.c @@ -6,7 +6,7 @@ #include "kds_s2000w_debug.h" #define AUTOSTART_ON 1 -#define OPTION_COUNT 46 +#define OPTION_COUNT 47 void _kds_s2000w_handler_opts_write_string_value(json_object* value_object, void* value) { diff --git a/src/kds_s2000w_option_descriptors.c b/src/kds_s2000w_option_descriptors.c index 2b59625..224a138 100644 --- a/src/kds_s2000w_option_descriptors.c +++ b/src/kds_s2000w_option_descriptors.c @@ -4,7 +4,7 @@ #include "kds_s2000w_option_descriptors.h" #include "kds_s2000w_debug.h" -#define MAX_OPTION_COUNT 46 +#define MAX_OPTION_COUNT 47 SANE_Option_Descriptor* descriptor_array = NULL; @@ -1091,6 +1091,24 @@ SANE_Option_Descriptor _kds_s2000w_option_descriptor_image_processing_group() return descriptor; } +SANE_Option_Descriptor _kds_s2000w_option_descriptor_feeder_group() +{ + kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_feeder_group"); + + SANE_Option_Descriptor descriptor = { + "feeder-options", + "Feeder Options", + "Feeder Options", + SANE_TYPE_GROUP, + SANE_UNIT_NONE, + 0, + SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED, + SANE_CONSTRAINT_NONE + }; + + return descriptor; +} + void kds_s2000w_option_descriptors_init() { kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_init_option_descriptors"); @@ -1142,6 +1160,7 @@ void kds_s2000w_option_descriptors_init() descriptor_array[43] = _kds_s2000w_option_descriptor_transport_handling(); descriptor_array[44] = _kds_s2000w_option_descriptor_multifeed_sensitivity(); descriptor_array[45] = _kds_s2000w_option_descriptor_max_document_length(); + descriptor_array[46] = _kds_s2000w_option_descriptor_feeder_group(); } void kds_s2000w_option_descriptors_free() diff --git a/tests/kds_s2000w_net_get_opt_tests.c b/tests/kds_s2000w_net_get_opt_tests.c index 0b837fc..2117917 100644 --- a/tests/kds_s2000w_net_get_opt_tests.c +++ b/tests/kds_s2000w_net_get_opt_tests.c @@ -7,7 +7,7 @@ #include "../src/kds_s2000w_net.h" #include "../src/kds_s2000w_handler.h" -#define MAX_OPTION_COUNT 46 +#define MAX_OPTION_COUNT 47 void sane_kds_s2000w_net_control_get_option_zero_test(void** state) { diff --git a/tests/kds_s2000w_option_descriptor_tests.c b/tests/kds_s2000w_option_descriptor_tests.c index 470e923..0d4bd5e 100644 --- a/tests/kds_s2000w_option_descriptor_tests.c +++ b/tests/kds_s2000w_option_descriptor_tests.c @@ -4,7 +4,7 @@ #include "kds_s2000w_client_mock.h" #include "../src/kds_s2000w_option_descriptors.h" -#define MAX_OPTION_COUNT 46 +#define MAX_OPTION_COUNT 47 int setup(void** state) { @@ -807,6 +807,20 @@ void kds_s2000w_option_get_descriptor_fourtyfive_test() assert_int_equal(option->constraint.range->quant, 1); } +void kds_s2000w_option_get_descriptor_fourtysix_test() +{ + SANE_Option_Descriptor* option = kds_s2000w_option_descriptors_get(46); + + assert_string_equal("feeder-options", option->name); + assert_string_equal("Feeder Options", option->title); + assert_string_equal("Feeder Options", option->desc); + assert_int_equal(SANE_TYPE_GROUP, option->type); + assert_int_equal(SANE_UNIT_NONE, option->unit); + assert_int_equal(0, option->size); + assert_int_equal(SANE_CAP_SOFT_DETECT | SANE_CAP_ADVANCED, option->cap); + assert_int_equal(SANE_CONSTRAINT_NONE, option->constraint_type); +} + void kds_s2000w_option_get_descriptor_get_by_name_test() { SANE_Option_Descriptor* option = kds_s2000w_option_descriptors_get_by_name("config-reset"); diff --git a/tests/kds_s2000w_option_descriptor_tests.h b/tests/kds_s2000w_option_descriptor_tests.h index 446bbb7..938952a 100644 --- a/tests/kds_s2000w_option_descriptor_tests.h +++ b/tests/kds_s2000w_option_descriptor_tests.h @@ -54,6 +54,7 @@ void kds_s2000w_option_get_descriptor_fourtytwo_test(); void kds_s2000w_option_get_descriptor_fourtythree_test(); void kds_s2000w_option_get_descriptor_fourtyfour_test(); void kds_s2000w_option_get_descriptor_fourtyfive_test(); +void kds_s2000w_option_get_descriptor_fourtysix_test(); void kds_s2000w_option_get_descriptor_get_by_name_test(); void kds_s2000w_option_get_descriptor_over_max_options_test(); #endif \ No newline at end of file diff --git a/tests/kds_s2000w_option_descriptor_tests_run.c b/tests/kds_s2000w_option_descriptor_tests_run.c index 39bf44a..f3ef88d 100644 --- a/tests/kds_s2000w_option_descriptor_tests_run.c +++ b/tests/kds_s2000w_option_descriptor_tests_run.c @@ -49,6 +49,7 @@ int main() cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_fourtythree_test, setup, teardown), cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_fourtyfour_test, setup, teardown), cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_fourtyfive_test, setup, teardown), + cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_fourtysix_test, setup, teardown), cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_get_by_name_test, setup, teardown), cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_over_max_options_test, setup, teardown), }; -- 2.39.5