From b21d3752783a05bf7430c5a7b20819a6b4ebb366 Mon Sep 17 00:00:00 2001 From: michael starke Date: Wed, 4 Sep 2013 21:27:58 +0200 Subject: [PATCH] Added simple wrapper to add error codes on description --- MacPass.xcodeproj/project.pbxproj | 6 ++++ MacPass/NSError+Messages.h | 15 +++++++++ MacPass/NSError+Messages.m | 48 +++++++++++++++++++++++++++ MacPass/en.lproj/Localizable.strings | Bin 9634 -> 10318 bytes 4 files changed, 69 insertions(+) create mode 100644 MacPass/NSError+Messages.h create mode 100644 MacPass/NSError+Messages.m diff --git a/MacPass.xcodeproj/project.pbxproj b/MacPass.xcodeproj/project.pbxproj index 40ed99e7..d2e3da62 100644 --- a/MacPass.xcodeproj/project.pbxproj +++ b/MacPass.xcodeproj/project.pbxproj @@ -249,6 +249,7 @@ 4CEAF85717BA9B1D001307A6 /* Keepass2Key.xml in Resources */ = {isa = PBXBuildFile; fileRef = 4CEAF85617BA9B1D001307A6 /* Keepass2Key.xml */; }; 4CEAF85B17BA9B44001307A6 /* KPKTestKeyfileParsing.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEAF85A17BA9B44001307A6 /* KPKTestKeyfileParsing.m */; }; 4CECB31717AC326D00EAFB0F /* KPKTestLegacyWriting.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CECB31617AC326D00EAFB0F /* KPKTestLegacyWriting.m */; }; + 4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */; }; 4CF29BF417879D0000851B60 /* 26_FileSaveTemplate.pdf in Resources */ = {isa = PBXBuildFile; fileRef = 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */; }; 4CF62B86179385D700B660B6 /* KPKAttribute.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF62B85179385D700B660B6 /* KPKAttribute.m */; }; 4CF6C711176F4533007A811D /* MPStringLengthValueTransformer.m in Sources */ = {isa = PBXBuildFile; fileRef = 4CF6C710176F4533007A811D /* MPStringLengthValueTransformer.m */; }; @@ -718,6 +719,8 @@ 4CEAF85A17BA9B44001307A6 /* KPKTestKeyfileParsing.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestKeyfileParsing.m; sourceTree = ""; }; 4CECB31517AC326D00EAFB0F /* KPKTestLegacyWriting.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKTestLegacyWriting.h; sourceTree = ""; }; 4CECB31617AC326D00EAFB0F /* KPKTestLegacyWriting.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKTestLegacyWriting.m; sourceTree = ""; }; + 4CEED1C417D7BD0E007180F1 /* NSError+Messages.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "NSError+Messages.h"; sourceTree = ""; }; + 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = "NSError+Messages.m"; sourceTree = ""; }; 4CF29BF317879D0000851B60 /* 26_FileSaveTemplate.pdf */ = {isa = PBXFileReference; lastKnownFileType = image.pdf; path = 26_FileSaveTemplate.pdf; sourceTree = ""; }; 4CF62B84179385D700B660B6 /* KPKAttribute.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = KPKAttribute.h; sourceTree = ""; }; 4CF62B85179385D700B660B6 /* KPKAttribute.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = KPKAttribute.m; sourceTree = ""; }; @@ -829,6 +832,8 @@ 4C10412B178CDD44001B5239 /* NSDate+Humanized.m */, 4CC6DB7817D23719002C6091 /* KPKNode+IconImage.h */, 4CC6DB7917D23719002C6091 /* KPKNode+IconImage.m */, + 4CEED1C417D7BD0E007180F1 /* NSError+Messages.h */, + 4CEED1C517D7BD0E007180F1 /* NSError+Messages.m */, ); name = Categories; sourceTree = ""; @@ -1987,6 +1992,7 @@ 4C5CD36317D15DCA000B7F38 /* KPKSalsa20RandomStream.m in Sources */, 4CC6DB7A17D23719002C6091 /* KPKNode+IconImage.m in Sources */, 4CC6DB7D17D23DCE002C6091 /* KPKUTIs.m in Sources */, + 4CEED1C617D7BD0E007180F1 /* NSError+Messages.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; diff --git a/MacPass/NSError+Messages.h b/MacPass/NSError+Messages.h new file mode 100644 index 00000000..b49eaa53 --- /dev/null +++ b/MacPass/NSError+Messages.h @@ -0,0 +1,15 @@ +// +// NSError+Messages.h +// MacPass +// +// Created by Michael Starke on 04.09.13. +// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +// + +#import + +@interface NSError (Messages) + +- (NSString *)descriptionForErrorCode; + +@end diff --git a/MacPass/NSError+Messages.m b/MacPass/NSError+Messages.m new file mode 100644 index 00000000..d0920827 --- /dev/null +++ b/MacPass/NSError+Messages.m @@ -0,0 +1,48 @@ +// +// NSError+Messages.m +// MacPass +// +// Created by Michael Starke on 04.09.13. +// Copyright (c) 2013 HicknHack Software GmbH. All rights reserved. +// + +#import "NSError+Messages.h" +#import "KPKErrors.h" + +@implementation NSError (Messages) + +- (NSString *)descriptionForErrorCode { + switch ([self code]) { + case KPKErrorUnknownFileFormat: + case KPKErrorUnsupportedDatabaseVersion: + case KPKErrorNoData: + case KPKErrorHeaderCorrupted: + case KPKErrorWriteFailed: + case KPKErrorEncryptionFaild: + case KPKErrorDecryptionFaild: + case KPKErrorDatabaseParsingFailed: + case KPKerrorXMLKeyUnsupportedVersion: + case KPKErrorXMLKeyKeyElementMissing: + case KPKErrorXMLKeyDataElementMissing: + case KPKErrorXMLKeyDataParsingError: + case KPKErrorUnsupportedCipher: + case KPKErrorUnsupportedCompressionAlgorithm: + case KPKErrorUnsupportedRandomStream: + case KPKErrorPasswordAndOrKeyfileWrong: + case KPKErrorIntegrityCheckFaild: + case KPKErrorXMLKeePassFileElementMissing: + case KPKErrorXMLRootElementMissing: + case KPKErrorXMLMetaElementMissing: + case KPKErrorXMLGroupElementMissing: + case KPKErrorXMLInvalidHeaderFieldSize: + case KPKErrorXMLInvalidHeaderFieldType: + case KPKErrorLegacyInvalidFieldType: + case KPKErrorLegacyInvalidFieldSize: + case KPKErrorLegacyHeaderHashCorrupted: + case KPKErrorLegacyCorruptTree: + default: { + return [NSString stringWithFormat:@"%@ (%ld)", [self localizedDescription], [self code] ]; + } + } +} +@end diff --git a/MacPass/en.lproj/Localizable.strings b/MacPass/en.lproj/Localizable.strings index 2cff9a4152cc25cef282c6a69643de2d246d1c0b..f4dc6a2f389c10ae978399052154d79046a14513 100644 GIT binary patch delta 718 zcmZuv&q@M89R7$drJXvstB8vo3yE$K9?Y~vD^ZK;vPiDFuxhMZQ5T_Cm}{q=K=2{D z^$tEq5q-b0MWtAFW_IT{-@o6yl|QQEmxx(M4won(4GUSmY1Glg1DwfIBpWqz@Zi8l zz^x;=-10C$2SYVA_EpC4)OT!G#mzm=#;AgG9gV^a(H&m=4#w! zUJJKG?DH9D{4QrtGmCT4BKjAVx~%BW__0nEd7RMs8IBpMjUp4N;S@Rbp4^D!sX@>? zaMUzu+M%DBrYrHFF~aO@%-#HH5VZ)Fq%zAx+=Y2)q)Ew~tn~6)LJb$FqCrUw3Mwph zJd8%H1-jjRLW|ip?aBqPblg7f8Bf5`*Z*ApmB6HJvUi6-rQ!)SPOU005p5PxB2R_w pmFrN#%@S*FLGGMM>_|w0EcRxBha8UP7d0-PCB%4a@|Ad9`vHkzhFAaq delta 61 zcmX>Xu*iEu6ZhsN+$KDeH;8#n{v$qX@(QsaAgwp~n1s>hPf{D0CO=SSnH;0cv-yx* L4<{EF0}KKHA7d4D