From 3b6956ed61cc56ff441fe79b5ca2417813e54261 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Sun, 28 Jan 2024 08:39:34 +0100 Subject: [PATCH] add option descriptor file --- CMakeLists.txt | 1 + src/kds_s2000w_net.c | 10 ++-------- src/kds_s2000w_option_descriptors.c | 16 ++++++++++++++++ src/kds_s2000w_option_descriptors.h | 5 +++++ 4 files changed, 24 insertions(+), 8 deletions(-) create mode 100644 src/kds_s2000w_option_descriptors.c create mode 100644 src/kds_s2000w_option_descriptors.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 40bcd52..5707787 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -9,6 +9,7 @@ find_package(JSON-C REQUIRED) add_library("sane-kds_s2000w_net" SHARED "src/kds_s2000w_net.c" + "src/kds_s2000w_option_descriptors.c" "src/kds_s2000w_handler.c" "src/kds_s2000w_client.c") set_target_properties("sane-kds_s2000w_net" PROPERTIES VERSION 1) diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index 8c6e055..b360079 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -3,6 +3,7 @@ #include #include #include +#include "kds_s2000w_option_descriptors.h" #include "kds_s2000w_handler.h" #define MAX_OPTION_COUNT 24 @@ -171,13 +172,7 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( { switch (option) { case 0: - option_descriptors[option].name = SANE_NAME_NUM_OPTIONS; - option_descriptors[option].title = SANE_TITLE_NUM_OPTIONS; - option_descriptors[option].desc = SANE_DESC_NUM_OPTIONS; - 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; + kds_s2000w_option_descriptor_num_options(&option_descriptors[option]); break; case 1: option_descriptors[option].name = SANE_NAME_STANDARD; @@ -443,7 +438,6 @@ const SANE_Option_Descriptor* _sane_kds_s2000w_net_get_option_descriptor( switch (option) { - case 0: case 2: case 8: case 12: diff --git a/src/kds_s2000w_option_descriptors.c b/src/kds_s2000w_option_descriptors.c new file mode 100644 index 0000000..fa42589 --- /dev/null +++ b/src/kds_s2000w_option_descriptors.c @@ -0,0 +1,16 @@ +#include +#include +#include "kds_s2000w_option_descriptors.h" + +void kds_s2000w_option_descriptor_num_options(SANE_Option_Descriptor* 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->constraint.string_list = NULL; + descriptor->type = SANE_TYPE_INT; + descriptor->size = sizeof(SANE_Int); +} \ No newline at end of file diff --git a/src/kds_s2000w_option_descriptors.h b/src/kds_s2000w_option_descriptors.h new file mode 100644 index 0000000..aefa49f --- /dev/null +++ b/src/kds_s2000w_option_descriptors.h @@ -0,0 +1,5 @@ +#ifndef KDS_S2000W_OPTION_DESCRIPTORS_H +#include + +void kds_s2000w_option_descriptor_num_options(SANE_Option_Descriptor* descriptor); +#endif \ No newline at end of file -- 2.39.5