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 }