]> gitweb.hhaalo.de Git - sane-kds-s2000w-net.git/commitdiff
move metadata to read info
authorBastian Dehn <hhaalo@arcor.de>
Sun, 18 Feb 2024 10:55:42 +0000 (11:55 +0100)
committerBastian Dehn <hhaalo@arcor.de>
Sun, 18 Feb 2024 10:55:42 +0000 (11:55 +0100)
src/kds_s2000w_handler.c
src/kds_s2000w_handler.h

index 0b1f042341488a407d2df10be55da8b0126b47b8..c6630a9da174e917d8a18e608f8694cd43a7ddf5 100644 (file)
@@ -21,13 +21,13 @@ void _get_current_metadata(handler* h)
        resp = kds_s2000w_client_response_init();
        kds_s2000w_client_get_metadata(h->sessionid, h->current_scan_status.current_image_number, resp);
        if (resp->code != 200) {
-               h->current_scan_status.mdata.valid = 0;
+               h->read_info.current_metadata.valid = 0;
                kds_s2000w_client_response_free(resp);
                resp = NULL;
                return;
        }
 
-       h->current_scan_status.mdata.valid = 0;
+       h->read_info.current_metadata.valid = 0;
        json_object* metadataResp = NULL;
        json_object* metadata = NULL;
        json_object* mdata_value = NULL;
@@ -36,19 +36,19 @@ void _get_current_metadata(handler* h)
        metadataResp = json_tokener_parse(resp->data);
        metadata = json_object_object_get(metadataResp, "Metadata");
        mdata_value = json_object_object_get(metadata, "BitDepth");
-       h->current_scan_status.mdata.depth = json_object_get_int(mdata_value);
+       h->read_info.current_metadata.depth = json_object_get_int(mdata_value);
        mdata_value = NULL;
 
        mdata_value = json_object_object_get(metadata, "ImageSize");
-       h->current_scan_status.mdata.size = json_object_get_int(mdata_value);
+       h->read_info.current_metadata.size = json_object_get_int(mdata_value);
        mdata_value = NULL;
 
        mdata_value = json_object_object_get(metadata, "ImageWidth");
-       h->current_scan_status.mdata.pixels_per_line = json_object_get_int(mdata_value);
+       h->read_info.current_metadata.pixels_per_line = json_object_get_int(mdata_value);
        mdata_value = NULL;
 
        mdata_value = json_object_object_get(metadata, "ImageHeight");
-       h->current_scan_status.mdata.lines = json_object_get_int(mdata_value);
+       h->read_info.current_metadata.lines = json_object_get_int(mdata_value);
        mdata_value = NULL;
 
        json_object_put(metadataResp);
@@ -58,15 +58,15 @@ void _get_current_metadata(handler* h)
        mdata_value = NULL;
 
        if (strcmp(color_value, "Color") == 0)
-               h->current_scan_status.mdata.format = 1;
+               h->read_info.current_metadata.format = 1;
 
        if (strcmp(color_value, "Gray") == 0)
-               h->current_scan_status.mdata.format = 0;
+               h->read_info.current_metadata.format = 0;
 
        if (strcmp(color_value, "BW") == 0)
-               h->current_scan_status.mdata.format = 0;
+               h->read_info.current_metadata.format = 0;
 
-       if (h->current_scan_status.mdata.format == 1)
+       if (h->read_info.current_metadata.format == 1)
                channels = 3;
 
        if (pnm_image.size > 0) {
@@ -74,24 +74,24 @@ void _get_current_metadata(handler* h)
                pnm_image.data = NULL;
                pnm_image.size = 0;
        }
-       if (h->current_scan_status.mdata.depth > 8) {
-               h->current_scan_status.mdata.depth = 8;
-               kds_s2000w_convert_jpg_to_pnm_With_depth(&image, &pnm_image, h->current_scan_status.mdata.depth);
+       if (h->read_info.current_metadata.depth > 8) {
+               h->read_info.current_metadata.depth = 8;
+               kds_s2000w_convert_jpg_to_pnm_With_depth(&image, &pnm_image, h->read_info.current_metadata.depth);
        } else {
                kds_s2000w_convert_jpg_to_pnm(&image, &pnm_image);
        }
 
-       h->current_scan_status.mdata.size = pnm_image.size;
-       h->current_scan_status.mdata.image = pnm_image.data;
+       h->read_info.current_metadata.size = pnm_image.size;
+       h->read_info.current_metadata.image = pnm_image.data;
        debug_printf_int(DEBUG, "size of pnm image", pnm_image.size);
 
-       if (h->current_scan_status.mdata.depth == 1)
-               h->current_scan_status.mdata.bytes_per_line = channels * floor((h->current_scan_status.mdata.pixels_per_line + 7) / 8);
+       if (h->read_info.current_metadata.depth == 1)
+               h->read_info.current_metadata.bytes_per_line = channels * floor((h->read_info.current_metadata.pixels_per_line + 7) / 8);
        else
-               h->current_scan_status.mdata.bytes_per_line = channels * h->current_scan_status.mdata.pixels_per_line * h->current_scan_status.mdata.depth / 8;
+               h->read_info.current_metadata.bytes_per_line = channels * h->read_info.current_metadata.pixels_per_line * h->read_info.current_metadata.depth / 8;
 
-       h->current_scan_status.mdata.valid = 1;
-       h->current_scan_status.mdata.is_last = 0;
+       h->read_info.current_metadata.valid = 1;
+       h->read_info.current_metadata.is_last = 0;
        
        metadata = NULL;
        kds_s2000w_client_response_free(resp);
@@ -213,7 +213,7 @@ void kds_s2000w_handler_open(const char* devicename, void** handle)
        h->current_scan_status.available_images = 0;
        h->current_scan_status.downloaded_images = 0;
        h->current_scan_status.complete_scanned = 0;
-       h->current_scan_status.mdata.scanned_all_complete = 0;
+       h->read_info.current_metadata.scanned_all_complete = 0;
        return;
 }
 
@@ -267,15 +267,15 @@ metadata kds_s2000w_handler_get_parameters(void* handle)
 
        if (h->current_scan_status.complete_scanned
                && h->current_scan_status.downloaded_images == h->current_scan_status.available_images) {
-               h->current_scan_status.mdata.valid = 1;
-               h->current_scan_status.mdata.scanned_all_complete = 1;
-               h->current_scan_status.mdata.is_last = 1;
-               return h->current_scan_status.mdata;
+               h->read_info.current_metadata.valid = 1;
+               h->read_info.current_metadata.scanned_all_complete = 1;
+               h->read_info.current_metadata.is_last = 1;
+               return h->read_info.current_metadata;
        }
 
        if (h->current_scan_status.downloaded_images >= h->current_scan_status.available_images) {
-               h->current_scan_status.mdata.valid = 0;
-               return h->current_scan_status.mdata;
+               h->read_info.current_metadata.valid = 0;
+               return h->read_info.current_metadata;
        }
 
        _download_current_image(h);
@@ -283,5 +283,5 @@ metadata kds_s2000w_handler_get_parameters(void* handle)
        _delete_current_image(h);
        h->current_scan_status.current_image_number++;
 
-       return h->current_scan_status.mdata;
+       return h->read_info.current_metadata;
 }
\ No newline at end of file
index e29e214481d83761e308c8ba7fccf88b12679a0a..4d8bf8cb1a94be5f87fef99afb57b7cf9c477e27 100644 (file)
@@ -29,7 +29,6 @@ typedef struct {
        int available_images;
        int downloaded_images;
        int complete_scanned;
-       metadata mdata;
 } scan_status;
 
 typedef struct {