/ KeychainCircle / NSError+KCCreationHelpers.h
NSError+KCCreationHelpers.h
1 // 2 // NSError+KCCreationHelpers.h 3 // KeychainCircle 4 // 5 // 6 7 #import <Foundation/Foundation.h> 8 9 NS_ASSUME_NONNULL_BEGIN 10 11 // Returns false and fills in error with formatted description if cc_result is an error 12 bool CoreCryptoError(int cc_result, NSError * _Nullable * _Nullable error, NSString * _Nonnull description, ...) NS_FORMAT_FUNCTION(3, 4); 13 // Returns false and fills in a requirement error if requirement is false 14 // We should have something better than -50 here. 15 bool RequirementError(bool requirement, NSError * _Nullable * _Nullable error, NSString * _Nonnull description, ...) NS_FORMAT_FUNCTION(3, 4); 16 17 bool OSStatusError(OSStatus status, NSError * _Nullable * _Nullable error, NSString* _Nonnull description, ...) NS_FORMAT_FUNCTION(3, 4); 18 19 20 // MARK: Error Extensions 21 @interface NSError(KCCreationHelpers) 22 23 + (instancetype) errorWithOSStatus:(OSStatus) status 24 userInfo:(NSDictionary *)dict; 25 26 - (instancetype) initWithOSStatus:(OSStatus) status 27 userInfo:(NSDictionary *)dict; 28 29 + (instancetype) errorWithOSStatus:(OSStatus) status 30 description:(NSString*)description 31 args:(va_list)va NS_FORMAT_FUNCTION(2, 0); 32 33 - (instancetype) initWithOSStatus:(OSStatus) status 34 description:(NSString*)description 35 args:(va_list)va NS_FORMAT_FUNCTION(2, 0); 36 37 + (instancetype) errorWithCoreCryptoStatus:(int) status 38 userInfo:(NSDictionary *)dict; 39 40 - (instancetype) initWithCoreCryptoStatus:(int) status 41 userInfo:(NSDictionary *)dict; 42 43 + (instancetype) errorWithCoreCryptoStatus:(int) status 44 description:(NSString*)description 45 args:(va_list)va NS_FORMAT_FUNCTION(2, 0); 46 47 - (instancetype) initWithCoreCryptoStatus:(int) status 48 description:(NSString*)description 49 args:(va_list)va NS_FORMAT_FUNCTION(2, 0); 50 51 @end 52 53 NS_ASSUME_NONNULL_END