C++ port: some memory leak cleanups
[zxing.git] / cpp / core / src / zxing / Result.cpp
1 /*
2  *  Result.cpp
3  *  zxing
4  *
5  *  Created by Christian Brunschen on 13/05/2008.
6  *  Copyright 2008 ZXing authors All rights reserved.
7  *
8  * Licensed under the Apache License, Version 2.0 (the "License");
9  * you may not use this file except in compliance with the License.
10  * You may obtain a copy of the License at
11  *
12  *      http://www.apache.org/licenses/LICENSE-2.0
13  *
14  * Unless required by applicable law or agreed to in writing, software
15  * distributed under the License is distributed on an "AS IS" BASIS,
16  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17  * See the License for the specific language governing permissions and
18  * limitations under the License.
19  */
20
21 #include <zxing/Result.h>
22
23 namespace zxing {
24 using namespace std;
25
26 Result::Result(Ref<String> text, ArrayRef<unsigned char> rawBytes, std::vector<Ref<ResultPoint> > resultPoints,
27                BarcodeFormat format) :
28     text_(text), rawBytes_(rawBytes), resultPoints_(resultPoints), format_(format) {
29 }
30
31 Result::~Result() {
32 }
33
34 Ref<String> Result::getText() {
35   return text_;
36 }
37
38 ArrayRef<unsigned char> Result::getRawBytes() {
39   return rawBytes_;
40 }
41
42 const std::vector<Ref<ResultPoint> >& Result::getResultPoints() const {
43   return resultPoints_;
44 }
45
46 BarcodeFormat Result::getBarcodeFormat() const {
47   return format_;
48 }
49
50 ostream& operator<<(ostream &out, Result& result) {
51   if (result.text_ != 0) {
52     out << result.text_->getText();
53   } else {
54     out << "[" << result.rawBytes_->size() << " bytes]";
55   }
56   return out;
57 }
58
59 }