removed my proj files... get generated for each user locally.
[zxing.git] / iphone / Classes / FormatReader.mm
1 //
2 //  FormatReader.mm
3 //
4 //  Created by Dave MacLachlan on 2010-05-03.
5 /*
6  * Copyright 2010 ZXing authors
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 #import "FormatReader.h"
22
23 @implementation FormatReader
24
25 static NSMutableSet *sFormatReaders = nil;
26
27 + (void)registerFormatReader:(FormatReader*)formatReader {
28   NSAutoreleasePool *pool = [[NSAutoreleasePool alloc] init];
29   @synchronized(self) {
30     if (!sFormatReaders) {
31       sFormatReaders = [[NSMutableSet alloc] init];
32     }
33     [sFormatReaders addObject:formatReader];
34   }
35   [pool drain];
36 }
37
38 + (NSSet *)formatReaders {
39   NSSet *formatReaders = nil;
40   @synchronized(self) {
41     formatReaders = [[sFormatReaders copy] autorelease];
42   }
43   return formatReaders;
44 }
45
46 - (id)initWithReader:(zxing::Reader *)reader {
47   if ((self = [super init])) {
48     reader_ = reader;
49   }
50   return self;
51 }
52
53 - (void)dealloc {
54   delete reader_;
55   [super dealloc];
56 }
57
58 - (zxing::Ref<zxing::Result>)decode:(zxing::Ref<zxing::BinaryBitmap>)grayImage {
59   return reader_->decode(grayImage);
60 }
61
62 @end