
Untitled
By: a guest on
Jul 4th, 2012 | syntax:
None | size: 2.22 KB | hits: 11 | expires: Never
- (BOOL) loadFromFile:(NSString *)filePath error:(NSError **)error {
NSString *secPath = [NSString stringWithFormat:@"%@.sec", filePath];
NSString *secRaw = [NSString stringWithContentsOfFile:secPath encoding: NSUTF8StringEncoding error: error];
if (secRaw == nil) {
if (error != nil) {
NSString *errorDescription = NSLocalizedString(@"Unable To Open Sector File", @"Unable To Open Sector File");
NSString *errorReason = NSLocalizedString(@"An unknown server error occurred.", @"An unknown server error occurred.");
NSDictionary *errorUserInfo = [NSDictionary dictionaryWithObjectsAndKeys:
errorDescription, NSLocalizedDescriptionKey,
errorReason, NSLocalizedFailureReasonErrorKey,
error, NSUnderlyingErrorKey, nil];
*error = [NSError errorWithDomain:@"WHErrorDomain" code:0 userInfo:errorUserInfo];
}
return NO;
}
NSArray *secLines = [secRaw componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
NSString *msecPath = [NSString stringWithFormat:@"%@.msec", filePath];
NSString *msecRaw = [NSString stringWithContentsOfFile:msecPath encoding: NSUTF8StringEncoding error: nil];
NSArray *msecLines = [msecRaw componentsSeparatedByCharactersInSet:[NSCharacterSet newlineCharacterSet]];
BOOL started = NO;
for(NSString *line in secLines) {
if(!started) {
if ([line hasPrefix:@"...."]) {
started = YES;
}
continue;
}
line = [line stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]];
int len = [line length];
if (len > 0) {
NSString *systemName = @"";
NSString *hex = @"";
NSString *uwp = @"";
NSRange range = NSMakeRange(0, MIN(14, len));
systemName = [line substringWithRange:range];
if (len > 18) {
range = NSMakeRange(14, 4);
hex = [line substringWithRange:range];
}
if (len > 29) {
range = NSMakeRange(19, 9);
uwp = [line substringWithRange:range];
}
NSLog(@"name=%@ hex=%@ uwp=%@", systemName, hex, uwp);
[self hexStringToPath: hex error: nil];
}
}
return YES;
}