SVGKParseResult.m 2.4 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980
  1. #import "SVGKParseResult.h"
  2. @implementation SVGKParseResult
  3. @synthesize libXMLFailed;
  4. @synthesize parsedDocument, rootOfSVGTree, namespacesEncountered;
  5. @synthesize warnings, errorsRecoverable, errorsFatal;
  6. #if ENABLE_PARSER_EXTENSIONS_CUSTOM_DATA
  7. @synthesize extensionsData;
  8. #endif
  9. - (id)init
  10. {
  11. self = [super init];
  12. if (self) {
  13. self.warnings = [NSMutableArray array];
  14. self.errorsRecoverable = [NSMutableArray array];
  15. self.errorsFatal = [NSMutableArray array];
  16. self.namespacesEncountered = [NSMutableDictionary dictionary];
  17. #if ENABLE_PARSER_EXTENSIONS_CUSTOM_DATA
  18. self.extensionsData = [NSMutableDictionary dictionary];
  19. #endif
  20. }
  21. return self;
  22. }
  23. -(NSString *)description
  24. {
  25. return [NSString stringWithFormat:@"[Parse result: %lu warnings, %lu errors(recoverable), %lu errors (fatal). %@%@", (unsigned long)self.warnings.count, (unsigned long)self.errorsRecoverable.count, (unsigned long)self.errorsFatal.count, (self.errorsFatal.count > 0)?@"First fatal error: ":@"Last recoverable error: ", self.errorsFatal.count > 0 ? [self.errorsFatal firstObject] : self.errorsRecoverable.count > 0 ? [self.errorsRecoverable lastObject] : @"(n/a)"];
  26. }
  27. -(void) addSourceError:(NSError*) fatalError
  28. {
  29. SVGKitLogError(@"[%@] SVG ERROR: %@", [self class], fatalError);
  30. [self.errorsRecoverable addObject:fatalError];
  31. }
  32. -(void) addParseWarning:(NSError*) warning
  33. {
  34. SVGKitLogWarn(@"[%@] SVG WARNING: %@", [self class], warning);
  35. [self.warnings addObject:warning];
  36. }
  37. -(void) addParseErrorRecoverable:(NSError*) recoverableError
  38. {
  39. SVGKitLogWarn(@"[%@] SVG WARNING (recoverable): %@", [self class], recoverableError);
  40. [self.errorsRecoverable addObject:recoverableError];
  41. }
  42. -(void) addParseErrorFatal:(NSError*) fatalError
  43. {
  44. SVGKitLogError(@"[%@] SVG ERROR: %@", [self class], fatalError);
  45. [self.errorsFatal addObject:fatalError];
  46. }
  47. -(void) addSAXError:(NSError*) saxError
  48. {
  49. SVGKitLogWarn(@"[%@] SVG ERROR: %@", [self class], [saxError localizedDescription]);
  50. [self.errorsFatal addObject:saxError];
  51. }
  52. #if ENABLE_PARSER_EXTENSIONS_CUSTOM_DATA
  53. -(NSMutableDictionary*) dictionaryForParserExtension:(NSObject<SVGKParserExtension>*) extension
  54. {
  55. NSMutableDictionary* d = [self.extensionsData objectForKey:[extension class]];
  56. if( d == nil )
  57. {
  58. d = [NSMutableDictionary dictionary];
  59. [self.extensionsData setObject:d forKey:[extension class]];
  60. }
  61. return d;
  62. }
  63. #endif
  64. @end