resp = NULL;
}
-void _kds_s2000w_handler_opts_set_cropping_image_value(json_object* value_object, void* value)
+void _kds_s2000w_handler_opts_set_soft_select_cropping_image(json_object* value_object, void* value)
{
- SANE_Option_Descriptor* cropping_image = kds_s2000w_option_descriptors_get(32);
+ SANE_Option_Descriptor* cropping_image = kds_s2000w_option_descriptors_get_by_name("cropping-image");
cropping_image->cap |= SANE_CAP_SOFT_SELECT;
if (strcmp(value, "Automatic") == 0) {
_kds_s2000w_handler_opts_write_string_value_to_json(value_object, value);
value_object = json_object_object_get(config, "CroppingImage");
- _kds_s2000w_handler_opts_set_cropping_image_value(value_object, value);
+ _kds_s2000w_handler_opts_set_soft_select_cropping_image(value_object, value);
if (info != NULL)
*info = RELOAD_OPTIONS;
_kds_s2000w_handler_opts_set_option_to_default(h);
_kds_s2000w_handler_opts_set_autostart_on(h);
- SANE_Option_Descriptor* cropping_image = kds_s2000w_option_descriptors_get(32);
+ SANE_Option_Descriptor* cropping_image = kds_s2000w_option_descriptors_get_by_name("cropping-image");
cropping_image->cap |= SANE_CAP_SOFT_SELECT;
if (info != NULL)
#include <stdlib.h>
+#include <string.h>
#include <sane/saneopts.h>
#include "kds_s2000w_option_descriptors.h"
#include "kds_s2000w_debug.h"
return NULL;
return &descriptor_array[option];
+}
+
+SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_name(const char* name)
+{
+ kds_s2000w_debug_printf(ALL, "kds_s2000w_option_descriptor_get_by_name");
+
+ for (int i = 0; i < MAX_OPTION_COUNT; i++) {
+ if (strcmp(descriptor_array[i].name, name) == 0)
+ return &descriptor_array[i];
+ }
+
+ return NULL;
}
\ No newline at end of file
void kds_s2000w_option_descriptors_free();
SANE_Option_Descriptor* kds_s2000w_option_descriptors_get(uint32_t option);
+SANE_Option_Descriptor* kds_s2000w_option_descriptors_get_by_name(const char* name);
#endif
\ No newline at end of file
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");
+
+ assert_string_equal(option->name, "config-reset");
+}
+
void kds_s2000w_option_get_descriptor_over_max_options_test()
{
SANE_Option_Descriptor* option = kds_s2000w_option_descriptors_get(MAX_OPTION_COUNT);
void kds_s2000w_option_get_descriptor_thirdyfour_test();
void kds_s2000w_option_get_descriptor_thirdyfive_test();
void kds_s2000w_option_get_descriptor_thirdysix_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
cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_thirdyfour_test, setup, teardown),
cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_thirdyfive_test, setup, teardown),
cmocka_unit_test_setup_teardown(kds_s2000w_option_get_descriptor_thirdysix_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),
};