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 #ifndef PRISON_PRISON_H 0008 #define PRISON_PRISON_H 0009 #include "abstractbarcode.h" 0010 #include "prison_export.h" 0011 0012 /** 0013 * @namespace Prison 0014 * 0015 * Provides classes and methods for generating barcodes. 0016 */ 0017 namespace Prison 0018 { 0019 class AbstractBarcode; 0020 /** 0021 * possible supported barcode types 0022 */ 0023 enum BarcodeType { 0024 /** Null barcode */ 0025 Null = 0, 0026 /** QRCode 2d barcode */ 0027 QRCode = 1, 0028 /** DataMatrix 2d barcode */ 0029 DataMatrix = 2, 0030 /** Aztec 2d barcode */ 0031 Aztec, 0032 /** Code39 barcode */ 0033 Code39, 0034 /** Code93 barcode */ 0035 Code93, 0036 /** Code 128 barcode */ 0037 Code128, 0038 /** PDF417 barcode */ 0039 PDF417, 0040 /** EAN13 barcode */ 0041 EAN13, 0042 }; 0043 /** 0044 * Factory method to create a barcode of a given type. 0045 * @param type barcode type. See @ref BarcodeType enum for values 0046 * @return a barcode provider, or a null pointer if unsupported. Ownership is passed to the caller. 0047 */ 0048 PRISON_EXPORT Prison::AbstractBarcode *createBarcode(BarcodeType type); 0049 } 0050 0051 #endif // PRISON_PRISON_H