]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
cancel only by start routine
authorBastian Dehn <hhaalo@arcor.de>
Tue, 24 Dec 2024 13:08:38 +0000 (14:08 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 24 Dec 2024 13:08:38 +0000 (14:08 +0100)
src/kds_s2000w_net.c
tests/kds_s2000w_net_read_tests.c
tests/kds_s2000w_net_read_tests.h
tests/kds_s2000w_net_read_tests_run.c
tests/kds_s2000w_net_tests.c
tests/kds_s2000w_net_tests.h
tests/kds_s2000w_net_tests_run.c

index 17ef585948703ff46441c7be8d91981166932e35..6034db03750cfdabb63da6ab9acafdff62dd57cd 100644 (file)
@@ -146,6 +146,13 @@ void _sane_kds_s2000w_net_cancel(SANE_Handle handle)
 #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;
@@ -164,11 +171,6 @@ SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
 
        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;
@@ -195,10 +197,8 @@ SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle)
 
        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;
@@ -255,13 +255,6 @@ SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data,
 
        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)
index 27f234a92389dc16680f307ae65760d1114b4d4d..76c48f0aad886286e87a35ac8f9cfe135a6dfe00 100644 (file)
@@ -24,26 +24,6 @@ void __wrap_wait_a_second()
        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;
index b306155b6d7cbc56cb5aee7a43c8e91155fdceb1..cce2a3eb3fbc781efee5472fca0ca4885916d0e3 100644 (file)
@@ -6,7 +6,6 @@
 #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();
index 47cef1d9e31198608883ae2e7b866f51ec6ea7da..ba50bd4f288b61fa51217a5a72663ec943b0490d 100644 (file)
@@ -3,7 +3,6 @@
 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),
index efbd6c9e5aa631b83afdba9a275560b98a65cd4f..656b379e13fd96d6e8e5733a84652ee233129c19 100644 (file)
@@ -95,7 +95,6 @@ void sane_kds_s2000w_net_start_cancel()
 
        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);
@@ -380,20 +379,6 @@ void sane_kds_s2000w_net_start_two_pages_per_feeder(void** state)
        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();
index a8a7026e757bfcf1985a922f4b54481ac0efa13b..de91bbca7e4bad5e1f1e52e1d3f451cb6d373141 100644 (file)
@@ -16,7 +16,6 @@ void sane_kds_s2000w_net_start(void** state);
 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();
index 775a4ffe4166bf3b7fe72db71c658bcba9377975..0a30e9d65ea32bacf6a26e61ac3df51d7eddd532 100644 (file)
@@ -69,7 +69,6 @@ int main()
                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),