Home | History | Annotate | Download | only in common
      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 // Original code is licensed as follows:
      7 /*
      8  * Copyright 2007 ZXing authors
      9  *
     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
     13  *
     14  *      http://www.apache.org/licenses/LICENSE-2.0
     15  *
     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.
     21  */
     22 
     23 #include "xfa/src/fxbarcode/barcode.h"
     24 #include "xfa/src/fxbarcode/qrcode/BC_QRCoderErrorCorrectionLevel.h"
     25 #include "xfa/src/fxbarcode/pdf417/BC_PDF417ResultMetadata.h"
     26 #include "BC_CommonDecoderResult.h"
     27 CBC_CommonDecoderResult::CBC_CommonDecoderResult() {}
     28 void CBC_CommonDecoderResult::Init(const CFX_ByteArray& rawBytes,
     29                                    const CFX_ByteString& text,
     30                                    const CFX_Int32Array& byteSegments,
     31                                    CBC_QRCoderErrorCorrectionLevel* ecLevel,
     32                                    int32_t& e) {
     33   if (text.IsEmpty()) {
     34     e = BCExceptionIllegalArgument;
     35     return;
     36   }
     37   m_rawBytes.Copy(rawBytes);
     38   m_text = text;
     39   m_byteSegments.Copy(byteSegments);
     40   m_ecLevel = ecLevel;
     41   m_other = NULL;
     42 }
     43 void CBC_CommonDecoderResult::Init(const CFX_ByteArray& rawBytes,
     44                                    const CFX_ByteString& text,
     45                                    const CFX_PtrArray& byteSegments,
     46                                    const CFX_ByteString& ecLevel,
     47                                    int32_t& e) {
     48   if (text.IsEmpty()) {
     49     e = BCExceptionIllegalArgument;
     50     return;
     51   }
     52   m_rawBytes.Copy(rawBytes);
     53   m_text = text;
     54   m_pdf417byteSegments.Copy(byteSegments);
     55   m_pdf417ecLevel = ecLevel;
     56   m_other = NULL;
     57 }
     58 void CBC_CommonDecoderResult::setOther(CBC_PDF417ResultMetadata* other) {
     59   m_other = other;
     60 }
     61 CBC_CommonDecoderResult::~CBC_CommonDecoderResult() {
     62   if (m_other != NULL) {
     63     delete m_other;
     64   }
     65 }
     66 const CFX_ByteArray& CBC_CommonDecoderResult::GetRawBytes() {
     67   return m_rawBytes;
     68 }
     69 const CFX_Int32Array& CBC_CommonDecoderResult::GetByteSegments() {
     70   return m_byteSegments;
     71 }
     72 const CFX_ByteString& CBC_CommonDecoderResult::GetText() {
     73   return m_text;
     74 }
     75 CBC_QRCoderErrorCorrectionLevel* CBC_CommonDecoderResult::GetECLevel() {
     76   return m_ecLevel;
     77 }
     78