File indexing completed on 2024-05-12 15:49:08

0001 /*
0002     SPDX-FileCopyrightText: 2010-2016 Sune Vuorela <sune@vuorela.dk>
0003 
0004     SPDX-License-Identifier: MIT
0005 */
0006 
0007 #include "prison.h"
0008 #include <config-prison.h>
0009 
0010 #include "aztecbarcode.h"
0011 #include "code128barcode.h"
0012 #include "code39barcode.h"
0013 #include "code93barcode.h"
0014 #include "datamatrixbarcode.h"
0015 #include "pdf417barcode.h"
0016 #include "qrcodebarcode.h"
0017 #if HAVE_ZXING
0018 #include "zxingonedbarcode_p.h"
0019 #endif
0020 
0021 Prison::AbstractBarcode *Prison::createBarcode(BarcodeType type)
0022 {
0023     switch (type) {
0024     case Prison::Null:
0025         return nullptr;
0026     case Prison::QRCode:
0027         return new QRCodeBarcode;
0028     case Prison::DataMatrix:
0029 #if HAVE_DMTX
0030         return new DataMatrixBarcode;
0031 #else
0032         return nullptr;
0033 #endif
0034     case Prison::Aztec:
0035         return new AztecBarcode;
0036     case Prison::Code39:
0037         return new Code39Barcode;
0038     case Prison::Code93:
0039         return new Code93Barcode;
0040     case Prison::Code128:
0041         return new Code128Barcode;
0042 #if HAVE_ZXING
0043     case Prison::PDF417:
0044         return new Pdf417Barcode;
0045     case Prison::EAN13:
0046         return new ZXingOneDBarcode<ZXing::BarcodeFormat::EAN13>;
0047 #endif
0048     }
0049     return nullptr;
0050 }