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