1 // Copyright 2014 PDFium Authors. All rights reserved. 2 // Use of this source code is governed by a BSD-style license that can be 3 // found in the LICENSE file. 4 5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com 6 7 #ifndef XFA_FXBARCODE_DATAMATRIX_BC_ERRORCORRECTION_H_ 8 #define XFA_FXBARCODE_DATAMATRIX_BC_ERRORCORRECTION_H_ 9 10 class CBC_SymbolInfo; 11 12 class CBC_ErrorCorrection { 13 public: 14 CBC_ErrorCorrection(); 15 virtual ~CBC_ErrorCorrection(); 16 17 static void Initialize(); 18 static void Finalize(); 19 static CFX_WideString encodeECC200(CFX_WideString codewords, 20 CBC_SymbolInfo* symbolInfo, 21 int32_t& e); 22 23 private: 24 static int32_t MODULO_VALUE; 25 static int32_t LOG[256]; 26 static int32_t ALOG[256]; 27 28 private: 29 static CFX_WideString createECCBlock(CFX_WideString codewords, 30 int32_t numECWords, 31 int32_t& e); 32 static CFX_WideString createECCBlock(CFX_WideString codewords, 33 int32_t start, 34 int32_t len, 35 int32_t numECWords, 36 int32_t& e); 37 }; 38 39 #endif // XFA_FXBARCODE_DATAMATRIX_BC_ERRORCORRECTION_H_ 40