return CURLE_FAILED_INIT;
CURLU* url_handler = curl_url();
- char img_number_str[10];
- sprintf(img_number_str, "%i", img_number);
- curl_url_set(url_handler, CURLUPART_URL, "http://scanner.lan.hhaalo.de/api/session/metadata", 0);
- curl_url_set(url_handler, CURLUPART_PATH, img_number_str, 0);
+ char url_path[30];
+ sprintf(url_path, "api/session/metadata/%i", img_number);
+ curl_url_set(url_handler, CURLUPART_URL, "http://scanner.lan.hhaalo.de", 0);
+ curl_url_set(url_handler, CURLUPART_PATH, url_path, 0);
char* url = NULL;
curl_url_get(url_handler, CURLUPART_URL, &url, 0);
int width = 0;
int channels = 1;
resp = kds_s2000w_client_response_init();
+ kds_s2000w_client_status_session(state->sessionid, resp);
+ kds_s2000w_client_response_free(resp);
+ resp = NULL;
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_get_metadata(state->sessionid, image_number, resp);
+ if (resp->code != 200) {
+ mdata.valid = 0;
+ kds_s2000w_client_response_free(resp);
+ resp = NULL;
+ return mdata;
+ }
+ mdata.valid = 1;
metadata = json_tokener_parse(resp->data);
mdata_value = json_object_object_get(metadata, "BitDepth");
mdata.depth = json_object_get_int(mdata_value);
else
mdata.bytes_per_line = channels * width * mdata.depth / 8;
- json_object_put(metadata);
metadata = NULL;
kds_s2000w_client_response_free(resp);
resp = NULL;
+
+ return mdata;
}
\ No newline at end of file
int bytes_per_line;
int lines;
int depth;
+ int valid;
} metadata;
current_state* kds_s2000w_handler_open();
SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
SANE_Parameters* params)
{
+ metadata mdata;
+ for (int i = 0; i < 10; i++) {
+ mdata = kds_s2000w_handler_get_parameters(1);
+ printf("valid %i\n", mdata.valid);
+ if (mdata.valid)
+ break;
+
+ sleep(1);
+ }
+
params->format = SANE_FRAME_GRAY;
params->last_frame = SANE_FALSE;
params->bytes_per_line = 256;
params->lines = 0;
params->depth = 8;
- return SANE_STATUS_GOOD;
+ return SANE_STATUS_UNSUPPORTED;
}
SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle)