Merge to XFA: Use stdint.h types throughout PDFium.
[pdfium.git] / xfa / src / fxbarcode / datamatrix / BC_ErrorCorrection.h
1 // Copyright 2014 PDFium Authors. All rights reserved.\r
2 // Use of this source code is governed by a BSD-style license that can be\r
3 // found in the LICENSE file.\r
4 \r
5 // Original code copyright 2014 Foxit Software Inc. http://www.foxitsoftware.com\r
6 \r
7 #ifndef _BC_ERRORCORRECTION_H_\r
8 #define _BC_ERRORCORRECTION_H_\r
9 class CBC_SymbolInfo;\r
10 class CBC_ErrorCorrection\r
11 {\r
12 public:\r
13     CBC_ErrorCorrection();\r
14     virtual ~CBC_ErrorCorrection();\r
15     static void Initialize();\r
16     static void Finalize();\r
17     static CFX_WideString encodeECC200(CFX_WideString codewords, CBC_SymbolInfo* symbolInfo, int32_t &e);\r
18 private:\r
19     static int32_t FACTOR_SETS[];\r
20     static int32_t FACTORS[][100];\r
21     static int32_t MODULO_VALUE;\r
22     static int32_t LOG[256];\r
23     static int32_t ALOG[256];\r
24 private:\r
25     static CFX_WideString createECCBlock(CFX_WideString codewords, int32_t numECWords, int32_t &e);\r
26     static CFX_WideString createECCBlock(CFX_WideString codewords, int32_t start, int32_t len, int32_t numECWords, int32_t &e);\r
27 };\r
28 #endif\r