]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
add finish scan success
authorBastian Dehn <hhaalo@arcor.de>
Tue, 6 Feb 2024 21:14:27 +0000 (22:14 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Tue, 6 Feb 2024 21:14:27 +0000 (22:14 +0100)
src/kds_s2000w_handler.c
src/kds_s2000w_net.c

index 3ee5d747fbcf1dec25c0dfecfda325aadaf18b34..8e79b66696649ffd0d8734e89bdcad92929aacb5 100644 (file)
@@ -83,6 +83,7 @@ void _get_current_metadata()
                current_scan_status.mdata.bytes_per_line = channels * current_scan_status.mdata.pixels_per_line * current_scan_status.mdata.depth / 8;
 
        current_scan_status.mdata.valid = 1;
+       current_scan_status.mdata.is_last = 0;
        
        metadata = NULL;
        kds_s2000w_client_response_free(resp);
@@ -250,6 +251,7 @@ metadata kds_s2000w_handler_get_parameters()
                && current_scan_status.downloaded_images == current_scan_status.available_images) {
                current_scan_status.mdata.valid = 1;
                current_scan_status.mdata.scanned_all_complete = 1;
+               current_scan_status.mdata.is_last = 1;
                return current_scan_status.mdata;
        }
 
index eaca9026bf5c468cee1ff1c93382a9653de5eccb..90a250b706d9676ac11785b397d0e4125aaf118d 100644 (file)
@@ -169,6 +169,12 @@ SANE_Status _sane_kds_s2000w_net_control_option(SANE_Handle handle,
        return SANE_STATUS_GOOD;
 }
 
+void _sane_kds_s2000w_net_cancel(SANE_Handle handle)
+{
+       cancel = 1;
+       return;
+}
+
 SANE_Status _sane_kds_s2000w_net_get_parameters(SANE_Handle handle,
        SANE_Parameters* params)
 {
@@ -208,23 +214,10 @@ SANE_Status _sane_kds_s2000w_net_start(SANE_Handle handle)
        return SANE_STATUS_GOOD;
 }
 
-void _sane_kds_s2000w_net_cancel(SANE_Handle handle)
-{
-       cancel = 1;
-       return;
-}
-
 SANE_Status _sane_kds_s2000w_net_read(SANE_Handle handle, SANE_Byte* data,
        SANE_Int max_length, SANE_Int* length)
 {
        printf("is all scanned: %i\n", current_metadata.scanned_all_complete);
-       if (current_metadata.scanned_all_complete && !cancel) {
-               printf("scan is finished\n");
-               read_size = 0;
-               *length = 0;
-               _sane_kds_s2000w_net_cancel(NULL);
-               return SANE_STATUS_EOF;
-       }
 
        int length_count = 0;
        while(length_count < max_length) {