From facda9b07766b874928b34eceadc58aeae38a492 Mon Sep 17 00:00:00 2001 From: Bastian Dehn Date: Tue, 6 Feb 2024 22:14:27 +0100 Subject: [PATCH] add finish scan success --- src/kds_s2000w_handler.c | 2 ++ src/kds_s2000w_net.c | 19 ++++++------------- 2 files changed, 8 insertions(+), 13 deletions(-) diff --git a/src/kds_s2000w_handler.c b/src/kds_s2000w_handler.c index 3ee5d74..8e79b66 100644 --- a/src/kds_s2000w_handler.c +++ b/src/kds_s2000w_handler.c @@ -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; } diff --git a/src/kds_s2000w_net.c b/src/kds_s2000w_net.c index eaca902..90a250b 100644 --- a/src/kds_s2000w_net.c +++ b/src/kds_s2000w_net.c @@ -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) { -- 2.39.5