Clean symbol resource handle
authorKwanghoon Son <k.son@samsung.com>
Thu, 11 Jul 2024 02:16:17 +0000 (11:16 +0900)
committerKwanghoon Son <k.son@samsung.com>
Fri, 26 Jul 2024 03:49:18 +0000 (12:49 +0900)
- ZBarcode_Delete now called once after draw logic
- remove un-necessary API expose

Change-Id: I4dea92cb2678adb5f1dcefa9530dd4ffb3ed3122
Signed-off-by: Kwanghoon Son <k.son@samsung.com>
mv_barcode/barcode_generator/include/BarcodeGenerator.h
mv_barcode/barcode_generator/src/BarcodeGenerator.cpp
mv_barcode/barcode_generator/src/mv_barcode_generate.cpp

index 7c551487402217585b579793e8965df7112b75d8..e1ccd3b6a650e429e0b672567e407eed1746d580 100644 (file)
@@ -56,13 +56,8 @@ struct BarcodeConfig {
        std::string logo_path {};
 };
 
-int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config);
-
-BarcodeImageFormat convertImageFormat(mv_barcode_image_format_e format);
-
-void swapBR(uint16_t *color);
-
-int mv_barcode_generate_symbol(zint_symbol *symbol, const BarcodeConfig &config);
+int symbol_to_source(zint_symbol *symbol, const BarcodeConfig &config, mv_source_h source);
+int symbol_to_image(zint_symbol *symbol, const BarcodeConfig &config);
 
 } /* Barcode */
 } /* MediaVision */
index 6cb608fb60280fb02763967eecc26606284a8edc..9a3d1f3e1ed20c4bfbbaf78b8ac2679313a0ca01 100644 (file)
@@ -36,7 +36,7 @@ namespace MediaVision
 {
 namespace Barcode
 {
-BarcodeImageFormat convertImageFormat(mv_barcode_image_format_e format)
+static BarcodeImageFormat convertImageFormat(mv_barcode_image_format_e format)
 {
        BarcodeImageFormat imageFormat = BARCODE_IMAGE_PNG;
 
@@ -283,7 +283,7 @@ static int createBarcode(zint_symbol *symbol, const BarcodeConfig &config)
        return error;
 }
 
-int mv_barcode_generate_symbol(zint_symbol *symbol, const BarcodeConfig &config)
+static int mv_barcode_generate_symbol(zint_symbol *symbol, const BarcodeConfig &config)
 {
        int error = createBarcode(symbol, config);
 
@@ -359,7 +359,7 @@ static void __draw_logo(cv::Mat &image, const BarcodeConfig &config)
        cv::add(logoMat, image, image);
 }
 
-int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config)
+static int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config)
 {
        std::string imageFileName = config.image_path;
        /* find directory */
@@ -422,7 +422,7 @@ int write_buffer_to_img(zint_symbol *symbol, const BarcodeConfig &config)
 The input colorspace is RGB but the generators' is BGR.
 Replace the value of R with that of B
 */
-void swapBR(uint16_t *color)
+static void swapBR(uint16_t *color)
 {
        std::swap(color[0], color[2]);
 }
@@ -537,5 +537,29 @@ int BarcodeConfig::update(mv_engine_config_h engine_cfg)
        return MEDIA_VISION_ERROR_NONE;
 }
 
+int symbol_to_source(zint_symbol *symbol, const BarcodeConfig &config, mv_source_h source)
+{
+       int ret = mv_barcode_generate_symbol(symbol, config);
+       if (ret != MEDIA_VISION_ERROR_NONE) {
+               LOGE("mv_barcode_generate_symbol failed error : %d", ret);
+               return ret;
+       }
+
+       return mv_source_fill_by_buffer(source, (unsigned char *) symbol->bitmap,
+                                                                       symbol->bitmap_width * symbol->bitmap_height * 3, symbol->bitmap_width,
+                                                                       symbol->bitmap_height, MEDIA_VISION_COLORSPACE_RGB888);
+}
+
+int symbol_to_image(zint_symbol *symbol, const BarcodeConfig &config)
+{
+       int ret = mv_barcode_generate_symbol(symbol, config);
+       if (ret != MEDIA_VISION_ERROR_NONE) {
+               LOGE("mv_barcode_generate_symbol failed error : %d", ret);
+               return ret;
+       }
+
+       return write_buffer_to_img(symbol, config);
+}
+
 } /* Barcode */
 } /* MediaVision */
index 858de94c0399ad213dc4b659c34a337d4897a40a..ffbf4a7b616c5b39cd3d49942d2cd8e0f1c67378 100644 (file)
@@ -81,16 +81,7 @@ int mv_barcode_generate_source(mv_engine_config_h engine_cfg, const char *messag
                LOGE("ZBarcode creation failed");
                return MEDIA_VISION_ERROR_INTERNAL;
        }
-
-       ret = mv_barcode_generate_symbol(symbol, config);
-       if (ret != MEDIA_VISION_ERROR_NONE) {
-               ZBarcode_Delete(symbol);
-               return ret;
-       }
-
-       ret = mv_source_fill_by_buffer(image, (unsigned char *) symbol->bitmap,
-                                                                  symbol->bitmap_width * symbol->bitmap_height * 3, symbol->bitmap_width,
-                                                                  symbol->bitmap_height, MEDIA_VISION_COLORSPACE_RGB888);
+       ret = symbol_to_source(symbol, config, image);
        ZBarcode_Delete(symbol);
        MEDIA_VISION_FUNCTION_LEAVE();
        return ret;
@@ -130,15 +121,7 @@ int mv_barcode_generate_image(mv_engine_config_h engine_cfg, const char *message
                LOGE("ZBarcode creation failed");
                return MEDIA_VISION_ERROR_INTERNAL;
        }
-
-       ret = mv_barcode_generate_symbol(symbol, config);
-       if (ret != MEDIA_VISION_ERROR_NONE) {
-               ZBarcode_Delete(symbol);
-               return ret;
-       }
-
-       ret = MediaVision::Barcode::write_buffer_to_img(symbol, config);
-
+       ret = symbol_to_image(symbol, config);
        ZBarcode_Delete(symbol);
        MEDIA_VISION_FUNCTION_LEAVE();
        return ret;