}
}
-void kds_s2000w_handler_set_option(int option, void* value)
+void kds_s2000w_handler_set_option(int option, void* value, int* info)
{
config = json_object_object_get(resObj, "Configuration");
json_object* value_object = NULL;
printf("Konfiguration reset\n");
resp = kds_s2000w_client_response_init();
kds_s2000w_client_get_capabilities(resp);
- printf("capabilities: %s\n", resp->data);
+
+ printf("response data: %s", resp->data);
+
+ json_object* capabilities = json_tokener_parse(resp->data);
+ json_object* default_values = json_object_object_get(capabilities, "Defaults");
+ const char* json_string = json_object_to_json_string_ext(default_values, JSON_C_TO_STRING_PLAIN);
+ printf("default_values: %s\n", json_string);
+
+ kds_s2000w_client_response_free(resp);
+
+ resp = kds_s2000w_client_response_init();
+ resp->size = sizeof(char) * strlen(json_string);
+ resp->code = 0;
+ resp->data = realloc(resp->data, resp->size);
+ resp->data = memcpy(resp->data, json_string, resp->size);
+ kds_s2000w_client_set_option(state->sessionid, resp);
kds_s2000w_client_response_free(resp);
+
resp = NULL;
+ json_object_put(capabilities);
+ *info = RELOAD_OPTIONS;
break;
default:
break;
device_state state;
} current_state;
+enum {
+ RELOAD_OPTIONS,
+ REALOD_PARAMS
+};
+
current_state* kds_s2000w_handler_open();
void kds_s2000w_handler_close();
current_state* kds_s2000w_handler_current_state();
void kds_s2000w_handler_get_option(int option, void* value);
-void kds_s2000w_handler_set_option(int option, void* value);
+void kds_s2000w_handler_set_option(int option, void* value, int* info);
void kds_s2000w_handler_set_option_auto(int option);
#endif
\ No newline at end of file
kds_s2000w_handler_get_option(option, value);
if (action == SANE_ACTION_SET_VALUE)
- kds_s2000w_handler_set_option(option, value);
+ kds_s2000w_handler_set_option(option, value, info);
if (action == SANE_ACTION_SET_AUTO)
kds_s2000w_handler_set_option_auto(option);