1 #ifndef __UPC_E_READER_H__
2 #define __UPC_E_READER_H__
8 * Copyright 2010 ZXing authors All rights reserved.
10 * Licensed under the Apache License, Version 2.0 (the "License");
11 * you may not use this file except in compliance with the License.
12 * You may obtain a copy of the License at
14 * http://www.apache.org/licenses/LICENSE-2.0
16 * Unless required by applicable law or agreed to in writing, software
17 * distributed under the License is distributed on an "AS IS" BASIS,
18 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
19 * See the License for the specific language governing permissions and
20 * limitations under the License.
23 #include <zxing/oned/UPCEANReader.h>
24 #include <zxing/Result.h>
28 class UPCEReader : public UPCEANReader {
31 static bool determineNumSysAndCheckDigit(std::string& resultString, int lgPatternFound);
33 bool decodeEnd(Ref<BitArray> row, int endStart, int* endGuardBegin, int* endGuardEnd);
34 bool checkChecksum(std::string s);
38 int decodeMiddle(Ref<BitArray> row, int startGuardBegin, int startGuardEnd,
39 std::string& resultString);
40 static std::string convertUPCEtoUPCA(std::string upce);
42 BarcodeFormat getBarcodeFormat();