#endif
handler* h = (handler*) handle;
+
+ if (h->read_info->cancel > 0) {
+ reset_handler(h);
+ kds_s2000w_handler_recreate_session(h);
+ return;
+ }
+
if (h->current_scan_status->complete_scanned > 0) {
reset_handler(h);
return;
handler* h = (handler*) handle;
- if (h->read_info->cancel) {
- reset_handler(h);
- return SANE_STATUS_CANCELLED;
- }
-
kds_s2000w_handler_get_current_metadata(h, (metadata*) params);
h->read_info->read_size = 0;
handler* h = (handler*) handle;
- if (h->read_info->cancel) {
- reset_handler(h);
+ if (h->read_info->cancel)
return SANE_STATUS_CANCELLED;
- }
if (!h->read_info->scan_started) {
h->read_info->cancel = 0;
handler* h = (handler*) handle;
- // cancel
- if (h->read_info->cancel) {
- reset_handler(h);
- *length = 0;
- return SANE_STATUS_CANCELLED;
- }
-
// calc max length
*length = h->image->size - h->read_info->read_size;
if (*length > max_length)
return;
}
-void sane_kds_s2000w_net_read_cancel_test()
-{
- handler* h = init_handler();
- h->read_info->scan_started = 1;
- h->read_info->cancel = 1;
- int* length = malloc(sizeof(int));
- *length = 0;
-
- SANE_Status status = _sane_kds_s2000w_net_read(h, NULL, 0, length);
-
- assert_int_equal(h->read_info->cancel, 0);
- assert_int_equal(h->read_info->scan_started, 0);
- assert_int_equal(status, SANE_STATUS_CANCELLED);
-
- free(length);
- length = NULL;
- free_handler(h);
- h = NULL;
-}
-
void sane_kds_s2000w_net_read_without_data()
{
int length = 0;
#include <setjmp.h>
#include <cmocka.h>
-void sane_kds_s2000w_net_read_cancel_test();
void sane_kds_s2000w_net_read_without_data();
void sane_kds_s2000w_net_read_empty_image();
void sane_kds_s2000w_net_read_without_header_test();
int main()
{
const struct CMUnitTest net_read_tests[] = {
- cmocka_unit_test(sane_kds_s2000w_net_read_cancel_test),
cmocka_unit_test(sane_kds_s2000w_net_read_without_data),
cmocka_unit_test(sane_kds_s2000w_net_read_empty_image),
cmocka_unit_test(sane_kds_s2000w_net_read_without_header_test),
SANE_Status status = _sane_kds_s2000w_net_start(h);
- assert_int_equal(h->read_info->cancel, 0);
assert_int_equal(status, SANE_STATUS_CANCELLED);
free_handler(h);
h = NULL;
}
-void sane_kds_s2000w_net_get_parameter_cancel()
-{
- handler* h = init_handler();
- h->read_info->cancel = 1;
-
- SANE_Status status = _sane_kds_s2000w_net_get_parameters(h, NULL);
-
- assert_int_equal(h->read_info->cancel, 0);
- assert_int_equal(status, SANE_STATUS_CANCELLED);
-
- free_handler(h);
- h = NULL;
-}
-
void sane_kds_s2000w_net_cancel()
{
response* resp = kds_s2000w_client_response_init();
void sane_kds_s2000w_net_start_one_page_per_flatscan(void** state);
void sane_kds_s2000w_net_start_one_page_per_feeder(void** state);
void sane_kds_s2000w_net_start_two_pages_per_feeder(void** state);
-void sane_kds_s2000w_net_get_parameter_cancel();
void sane_kds_s2000w_net_cancel();
void sane_kds_s2000w_net_open();
void sane_kds_s2000w_net_open_busy_device();
cmocka_unit_test(kds_s2000w_net_set_io_mode),
cmocka_unit_test(kds_s2000w_net_get_select_fd),
cmocka_unit_test(sane_kds_s2000w_net_start_cancel),
- cmocka_unit_test(sane_kds_s2000w_net_get_parameter_cancel),
cmocka_unit_test(sane_kds_s2000w_net_cancel),
cmocka_unit_test(sane_kds_s2000w_net_open),
cmocka_unit_test(sane_kds_s2000w_net_open_busy_device),