h = NULL;
}
-void reset_handler(handler* h)
-{
- debug_printf(ALL, "reset handler");
- free(h->pnm_image->data);
- h->pnm_image->data = NULL;
- free(h->jpg_image->data);
- h->jpg_image->data = NULL;
-
- h->state = NOTCONNECTED;
- h->current_scan_status->current_image_number = 1;
- h->current_scan_status->available_images = 0;
- h->current_scan_status->downloaded_images = 0;
- h->current_scan_status->complete_scanned = 0;
- h->current_metadata->format = 1;
- h->current_metadata->channels = 3;
- h->current_metadata->is_last = 1;
- h->current_metadata->bytes_per_line = 0;
- h->current_metadata->pixels_per_line = 0;
- h->current_metadata->lines = 0;
- h->current_metadata->depth = 8;
- h->current_metadata->valid = 0;
- h->current_metadata->scanned_all_complete = 0;
- h->read_info->scan_started = 0;
- h->read_info->cancel = 0;
- h->read_info->read_size = 0;
- h->read_info->readed_bytes_per_line = 0;
- h->read_info->readed_lines = 0;
-}
-
void kds_s2000w_handler_recreate_session(handler* h)
{
kds_s2000w_client_close_session(h->sessionid);
h->read_info->cancel = 1;
int* length = malloc(sizeof(int));
*length = 0;
+ response* resp_open_session = kds_s2000w_client_response_init();
+ resp_open_session->data = realloc(resp_open_session->data, 25);
+ const char* session_data = "{\"SessionId\":\"8154711\"}\0";
+ memcpy(resp_open_session->data, session_data, 25);
+ resp_open_session->code = 200;
+ resp_open_session->size = 25;
+ will_return(mock_response, resp_open_session);
+ will_return(__wrap_kds_s2000w_client_open_session, 0);
+ response* resp_set_option = kds_s2000w_client_response_init();
+ resp_set_option->code = 200;
+ will_return(mock_response, resp_set_option);
+ will_return(__wrap_kds_s2000w_client_set_option, 0);
+ expect_function_call(__wrap_kds_s2000w_client_close_session);
+ expect_function_call(__wrap_kds_s2000w_client_open_session);
+ expect_function_call(__wrap_kds_s2000w_client_set_option);
SANE_Status status = _sane_kds_s2000w_net_read(h, NULL, 0, length);
- assert_int_equal(h->read_info->cancel, 1);
+ assert_int_equal(h->read_info->cancel, 0);
assert_int_equal(status, SANE_STATUS_CANCELLED);
free(length);
length = NULL;
+ kds_s2000w_client_response_free(resp_open_session);
+ resp_open_session = NULL;
+ kds_s2000w_client_response_free(resp_set_option);
+ resp_set_option = NULL;
free_handler(h);
h = NULL;
}