return fullsize;
}
-void* kds_s2000w_handler_get_option(int option)
+void kds_s2000w_handler_get_option(int option, void* value)
{
CURL *curl = curl_easy_init();
if(!curl)
- return NULL;
+ return;
response resp = {0};
CURLU* url_handler = curl_url();
CURLcode result = curl_easy_perform(curl);
curl_easy_getinfo(curl, CURLINFO_RESPONSE_CODE, &resp.code);
- printf("%s", resp.data);
+ json_object* resObj = json_tokener_parse(resp.data);
+ json_object* config = json_object_object_get(resObj, "Configuration");
+ int* num_options = (int*) value;
+ num_options = malloc(sizeof(int));
+ *num_options = 0;
+ *num_options = json_object_object_length(config);
curl_url_cleanup(url_handler);
url_handler = NULL;
curl_free(url);
url = NULL;
free(resp.data);
- return NULL;
}
void kds_s2000w_handler_set_option(int option, void* value)
device_state kds_s2000w_handler_open();
void kds_s2000w_handler_close();
-void* kds_s2000w_handler_get_option(int option);
+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_auto(int option);
#endif
\ No newline at end of file
printf("kds_s2000w_net control option\n");
if (action == SANE_ACTION_GET_VALUE)
- value = kds_s2000w_handler_get_option(option);
+ kds_s2000w_handler_get_option(option, value);
if (action == SANE_ACTION_SET_VALUE)
kds_s2000w_handler_set_option(option, value);