resp = NULL;
}
-json_object* _kds_s2000w_handler_opts_load_config(handler_t* h)
+void _kds_s2000w_handler_opts_load_config(handler_t* h)
{
if (h->scanner_config != NULL)
- return h->scanner_config;
+ return;
_kds_s2000w_handler_opts_load_options(h);
_kds_s2000w_handler_opts_set_autostart_on(h->scanner_config);
_kds_s2000w_handler_opts_set_options(h);
-
- return h->scanner_config;
}
bool _kds_s2000w_opts_validate(SANE_Option_Descriptor* descriptor, const void* value)
int32_t kds_s2000w_handler_opts_get_option(handler_t* h, uint32_t option, void* value, int32_t* info)
{
- json_object* config = _kds_s2000w_handler_opts_load_config(h);
+ _kds_s2000w_handler_opts_load_config(h);
option_descriptor_t* descriptor = kds_s2000w_option_descriptors_full_get_by_number(option);
if (strcmp(descriptor->config_name, OPTION_COUNT) == 0)
return _kds_s2000w_handler_opts_get_zero_option(value);
- json_object* value_object = json_object_object_get(config, descriptor->config_name);
+ json_object* value_object = json_object_object_get(h->scanner_config, descriptor->config_name);
if (strcmp(descriptor->config_name, IMAGE_OFFSET_X) == 0)
return _kds_s2000w_handler_opts_get_image_offset_x(h, value_object, value);
if (h->scan_status->state == STARTED)
return GOOD;
- json_object* config = _kds_s2000w_handler_opts_load_config(h);
+ _kds_s2000w_handler_opts_load_config(h);
option_descriptor_t* descriptor = kds_s2000w_option_descriptors_full_get_by_number(option);
- json_object* value_object = json_object_object_get(config, descriptor->config_name);
+ json_object* value_object = json_object_object_get(h->scanner_config, descriptor->config_name);
if (strcmp(descriptor->config_name, IMAGE_WIDTH) == 0
|| strcmp(descriptor->config_name, IMAGE_HEIGHT) == 0) {
&& strcmp(descriptor->config_name, IMAGE_HEIGHT) != 0)
_kds_s2000w_handler_opts_write_value_to_json(value_object, descriptor->descriptor->type, value);
- config = _kds_s2000w_handler_opts_reset(descriptor, h);
+ _kds_s2000w_handler_opts_reset(descriptor, h);
if (h->profile > PROFILE_MIN)
- _kds_s2000w_handler_opts_set_depends_opts(h, descriptor->config_name, config);
+ _kds_s2000w_handler_opts_set_depends_opts(h, descriptor->config_name, h->scanner_config);
if (!_kds_s2000w_opts_validate(descriptor->descriptor, value))
return INVAL;