X-Git-Url: http://git.rot13.org/?a=blobdiff_plain;f=iphone%2FZXingWidget%2FClasses%2FresultParsers%2FURLTOResultParser.m;fp=iphone%2FZXingWidget%2FClasses%2FresultParsers%2FURLTOResultParser.m;h=73f2fc0b83861dbb5c9f6c22a8db5f96d98c1333;hb=c41ee2e052b1397bc534c01543f1e6013f53b82b;hp=0000000000000000000000000000000000000000;hpb=ad3b00504e9e2299dcf64c75790c9944ec0b8488;p=zxing.git diff --git a/iphone/ZXingWidget/Classes/resultParsers/URLTOResultParser.m b/iphone/ZXingWidget/Classes/resultParsers/URLTOResultParser.m new file mode 100644 index 00000000..73f2fc0b --- /dev/null +++ b/iphone/ZXingWidget/Classes/resultParsers/URLTOResultParser.m @@ -0,0 +1,54 @@ +// +// URLTOResultParser.m +// ZXing +// +// Created by Christian Brunschen on 25/06/2008. +/* + * Copyright 2008 ZXing authors + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#import "URLTOResultParser.h" +#import "URIParsedResult.h" + +#define PREFIX @"URLTO:" + +@implementation URLTOResultParser + ++ (void)load { + [ResultParser registerResultParserClass:self]; +} + ++ (ParsedResult *)parsedResultForString:(NSString *)s { + NSRange prefixRange = [s rangeOfString:PREFIX options:NSCaseInsensitiveSearch]; + if (prefixRange.location == 0) { + int max = [s length]; + int titleStart = prefixRange.location + prefixRange.length; + NSRange searchRange = NSMakeRange(titleStart, max - titleStart); + NSRange colonRange = [s rangeOfString:@":" options:0 range:searchRange]; + if (colonRange.location != NSNotFound) { + NSRange titleRange = NSMakeRange(titleStart, + colonRange.location - titleStart); + int linkStart = colonRange.location + colonRange.length; + NSRange linkRange = NSMakeRange(linkStart, max - linkStart); + return [[[URIParsedResult alloc] initWithURLString:[s substringWithRange:linkRange] + title:[s substringWithRange:titleRange]] + autorelease]; + } + } + return nil; +} + + +@end