5 // Created by Christian Brunschen on 25/06/2008.
7 * Copyright 2008 ZXing authors
9 * Licensed under the Apache License, Version 2.0 (the "License");
10 * you may not use this file except in compliance with the License.
11 * You may obtain a copy of the License at
13 * http://www.apache.org/licenses/LICENSE-2.0
15 * Unless required by applicable law or agreed to in writing, software
16 * distributed under the License is distributed on an "AS IS" BASIS,
17 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
18 * See the License for the specific language governing permissions and
19 * limitations under the License.
22 #import "ResultParser.h"
24 #import "MeCardParser.h"
25 #import "EmailDoCoMoResultParser.h"
26 #import "BookmarkDoCoMoResultParser.h"
27 #import "TelResultParser.h"
28 #import "GeoResultParser.h"
29 #import "URLTOResultParser.h"
30 #import "URLResultParser.h"
31 #import "TextResultParser.h"
32 #import "SMSResultParser.h"
33 #import "SMSTOResultParser.h"
34 #import "PlainEmailResultParser.h"
36 @implementation ResultParser
38 static NSArray *resultParsers = nil;
39 + (NSArray *)resultParsers {
40 if (resultParsers == nil) {
42 [[NSArray alloc] initWithObjects:
44 [EmailDoCoMoResultParser class],
45 [BookmarkDoCoMoResultParser class],
46 [TelResultParser class],
47 [GeoResultParser class],
48 [SMSTOResultParser class],
49 [SMSResultParser class],
50 [URLTOResultParser class],
51 [URLResultParser class],
52 [PlainEmailResultParser class],
53 [TextResultParser class],
59 + (ParsedResult *)parsedResultForString:(NSString *)s {
61 NSLog(@"parsing result:\n<<<\n%@\n>>>\n", s);
63 for (Class c in [self resultParsers]) {
65 NSLog(@"trying %@", NSStringFromClass(c));
67 ParsedResult *result = [c parsedResultForString:s];
70 NSLog(@"parsed as %@ %@", NSStringFromClass([result class]), result);