void _get_current_metadata(handler* h)
{
debug_printf(ALL, "get_current_metadata");
- response* resp = kds_s2000w_client_response_init();
+ json_object* metadataResp = NULL;
+ json_object* metadata = NULL;
+ json_object* mdata_value = NULL;
+ response* resp = NULL;
+
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_get_metadata(h->sessionid, h->current_scan_status->current_image_number, resp);
if (resp->code != 200) {
debug_printf_int(ERROR, "metadata response code", resp->code);
}
h->current_metadata->valid = 0;
- json_object* metadataResp = NULL;
- json_object* metadata = NULL;
- json_object* mdata_value = NULL;
h->current_metadata->channels = 1;
metadataResp = json_tokener_parse(resp->data);
void _delete_current_image(handler* h)
{
debug_printf(ALL, "delete_current_image");
- response* resp = kds_s2000w_client_response_init();
+ response* resp = NULL;
+
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_delete_image(h->sessionid, h->current_scan_status->current_image_number, resp);
if (resp->code != 200)
debug_printf_int(ERROR, "delete current image response code", resp->code);
void _download_current_image(handler* h)
{
debug_printf(ALL, "download_current_image");
+ response* resp = NULL;
+
if (image.size > 0) {
free(image.data);
image.data = NULL;
image.size = 0;
}
- response* resp = kds_s2000w_client_response_init();
+
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_get_image(h->sessionid, h->current_scan_status->current_image_number, resp);
if (resp->code != 200)
debug_printf_int(ERROR, "download current image response code", resp->code);
json_object* status_resp_obj = NULL;
json_object* status_obj = NULL;
json_object* status_value_obj = NULL;
+ response* resp = NULL;
- response* resp = kds_s2000w_client_response_init();
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_status_session(h->sessionid, resp);
if (resp->code != 200)
debug_printf_int(ERROR, "get current scan status response code", resp->code);
handler* init_handler()
{
+ debug_printf(ALL, "init handler");
handler* h = malloc(sizeof(handler));
h->current_scan_status = malloc(sizeof(scan_status));
h->current_metadata = malloc(sizeof(metadata));
void free_handler(handler* h)
{
+ debug_printf(ALL, "free handler");
free(h->current_scan_status);
h->current_scan_status = NULL;
free(h->current_metadata->image);
void reset_handler(handler* h)
{
+ debug_printf(ALL, "reset handler");
free(h->current_metadata->image);
h->current_metadata->image = NULL;
void kds_s2000w_handler_recreate_session(handler* h)
{
kds_s2000w_client_close_session(h->sessionid);
- response* resp = kds_s2000w_client_response_init();
+ response* resp = NULL;
+ json_object* sessionJson = NULL;
+ json_object* value_object = NULL;
+
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_open_session(resp);
if (resp->code == 200) {
- json_object* sessionJson = json_tokener_parse(resp->data);
- json_object* value_object = NULL;
+ sessionJson = json_tokener_parse(resp->data);
json_object_object_get_ex(sessionJson, "SessionId", &value_object);
h->sessionid = json_object_get_int64(value_object);
h->state = OPENED;
debug_printf_long(INFO, "SessionId", h->sessionid);
// set old config parameters
+ kds_s2000w_client_response_free(resp);
+ resp = NULL;
const char* json_string = json_object_to_json_string_ext(resp_config, JSON_C_TO_STRING_PLAIN);
- response* resp = kds_s2000w_client_response_init();
+ resp = kds_s2000w_client_response_init();
resp->size = sizeof(char) * strlen(json_string);
resp->code = 0;
resp->data = realloc(resp->data, resp->size);
kds_s2000w_client_set_option(h->sessionid, resp);
if (resp->code != 200)
debug_printf_int(ERROR, "set options response code", resp->code);
-
- kds_s2000w_client_response_free(resp);
- resp = NULL;
}
kds_s2000w_client_response_free(resp);
if (strcmp(devicename, "kds_s2000w_net") != 0)
return;
- handler* h = init_handler();
+ handler* h = NULL;
+ response* resp = NULL;
+ json_object* value_object = NULL;
+ h = init_handler();
*handle = h;
image.size = 0;
pnm_image.size = 0;
pnm_image.data = NULL;
- response* resp = kds_s2000w_client_response_init();
+ resp = kds_s2000w_client_response_init();
int result = kds_s2000w_client_open_session(resp);
if (resp->code == 408) {
if (resp->code == 200) {
resp_config = json_tokener_parse(resp->data);
- json_object* value_object = NULL;
json_object_object_get_ex(resp_config, "SessionId", &value_object);
h->sessionid = json_object_get_int64(value_object);
h->state = OPENED;
void kds_s2000w_handler_start_scan(handler* h)
{
debug_printf(ALL, "kds_s2000w_handler_start_scan");
- response* resp = kds_s2000w_client_response_init();
+ response* resp = NULL;
+
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_start_scan(h->sessionid, resp);
if (resp->code != 200)
debug_printf_int(ERROR, "start scan response code", resp->code);
void kds_s2000w_handler_stop_scan(handler* h)
{
debug_printf(ALL, "kds_s2000w_handler_stop_scan");
- response* resp = kds_s2000w_client_response_init();
+ response* resp = NULL;
+
+ resp = kds_s2000w_client_response_init();
kds_s2000w_client_stop_scan(h->sessionid, resp);
if (resp->code != 200)
debug_printf_int(ERROR, "stop scan response code", resp->code);