int_value_ptr = (int*) value;
int_value = json_object_object_length(config);
printf("option number count: %i\n", int_value);
- *int_value_ptr = 8;
+ *int_value_ptr = 9;
break;
case 1:
value_object = json_object_object_get(config, "DPI");
int_value = json_object_get_int(value_object);
int_value_ptr = (int*) value;
*int_value_ptr = int_value;
- break;
+ break;
+ case 8:
+ value_object = json_object_object_get(config, "OutputType");
+ string_value = json_object_get_string(value_object);
+ char_value = (char*) value;
+ value_length = strlen(char_value);
+ memcpy(char_value, string_value, sizeof(char) * value_length);
+ break;
default:
break;
}
option_descriptor_array.option_descriptors[option]->cap = SANE_CAP_SOFT_DETECT;
option_descriptor_array.option_descriptors[option]->constraint_type = SANE_CONSTRAINT_NONE;
option_descriptor_array.option_descriptors[option]->constraint.string_list = NULL;
- break;
+ break;
+ case 8:
+ free(option_descriptor_array.option_descriptors[option]);
+ option_descriptor_array.option_descriptors[option] = NULL;
+ option_descriptor_array.option_descriptors[option] = malloc(sizeof(SANE_Option_Descriptor));
+ option_descriptor_array.option_descriptors[option]->name = "outputtype";
+ option_descriptor_array.option_descriptors[option]->title = "outputtype";
+ option_descriptor_array.option_descriptors[option]->desc = "outputtype";
+ option_descriptor_array.option_descriptors[option]->cap = SANE_CAP_SOFT_DETECT;
+ option_descriptor_array.option_descriptors[option]->constraint_type = SANE_CONSTRAINT_NONE;
+ option_descriptor_array.option_descriptors[option]->constraint.string_list = NULL;
+ break;
default:
return NULL;
break;
case 2:
case 3:
case 6:
+ case 8:
option_descriptor_array.option_descriptors[option]->type = SANE_TYPE_STRING;
option_descriptor_array.option_descriptors[option]->unit = SANE_UNIT_NONE;
option_descriptor_array.option_descriptors[option]->size = sizeof(SANE_String) * 50;