mirror of
https://github.com/gnustep/libs-base.git
synced 2025-05-31 00:30:53 +00:00
NSCoder: implement NSSecureCoding stub
Implement stubs for NSSecureCoding which do not break projects that rely on it.
This commit is contained in:
parent
be874e5d8f
commit
314f437f43
4 changed files with 60 additions and 0 deletions
|
@ -28,6 +28,7 @@
|
|||
|
||||
#import <Foundation/NSObject.h>
|
||||
#import <Foundation/NSGeometry.h>
|
||||
#import <Foundation/NSSet.h>
|
||||
#import <Foundation/NSZone.h>
|
||||
|
||||
#if defined(__cplusplus)
|
||||
|
@ -303,6 +304,8 @@ extern "C" {
|
|||
*/
|
||||
- (id) decodeObjectForKey: (NSString*)aKey;
|
||||
|
||||
|
||||
|
||||
/** <override-subclass />
|
||||
* Encodes aBool and associates the encoded value with aKey.
|
||||
*/
|
||||
|
@ -363,6 +366,20 @@ extern "C" {
|
|||
* Decodes an NSInteger associated with the key.
|
||||
*/
|
||||
- (NSInteger) decodeIntegerForKey: (NSString *)key;
|
||||
#endif
|
||||
|
||||
#if OS_API_VERSION(MAC_OS_X_VERSION_10_8, GS_API_LATEST)
|
||||
|
||||
#if GS_HAS_DECLARED_PROPERTIES
|
||||
@property (nonatomic, assign) BOOL requiresSecureCoding;
|
||||
#else
|
||||
- (BOOL) requiresSecureCoding;
|
||||
- (void) setRequiresSecureCoding: (BOOL)requires;
|
||||
#endif
|
||||
|
||||
- (id) decodeObjectOfClass: (Class)cls forKey: (NSString *)key;
|
||||
- (id) decodeObjectOfClasses: (NSSet *)classes forKey: (NSString *)key;
|
||||
|
||||
#endif
|
||||
@end
|
||||
|
||||
|
|
|
@ -283,6 +283,10 @@ extern "C" {
|
|||
- (id) initWithCoder: (NSCoder*)aDecoder;
|
||||
@end
|
||||
|
||||
@protocol NSSecureCoding <NSCoding>
|
||||
+ (BOOL)supportsSecureCoding;
|
||||
@end
|
||||
|
||||
|
||||
GS_ROOT_CLASS @interface NSObject <NSObject>
|
||||
{
|
||||
|
|
|
@ -35,6 +35,7 @@
|
|||
#define EXPOSE_NSCoder_IVARS 1
|
||||
#import "Foundation/NSData.h"
|
||||
#import "Foundation/NSCoder.h"
|
||||
#import "Foundation/NSSet.h"
|
||||
#import "Foundation/NSSerialization.h"
|
||||
#import "Foundation/NSUserDefaults.h"
|
||||
|
||||
|
@ -331,6 +332,17 @@ static unsigned systemVersion = MAX_SUPPORTED_SYSTEM_VERSION;
|
|||
|
||||
// Keyed archiving extensions
|
||||
|
||||
- (BOOL) requiresSecureCoding
|
||||
{
|
||||
[self subclassResponsibility: _cmd];
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void) setRequiresSecureCoding: (BOOL)secure
|
||||
{
|
||||
[self subclassResponsibility: _cmd];
|
||||
}
|
||||
|
||||
- (BOOL) allowsKeyedCoding
|
||||
{
|
||||
return NO;
|
||||
|
@ -397,6 +409,18 @@ static unsigned systemVersion = MAX_SUPPORTED_SYSTEM_VERSION;
|
|||
return nil;
|
||||
}
|
||||
|
||||
- (id) decodeObjectOfClass: (Class)cls forKey: (NSString *)aKey
|
||||
{
|
||||
return [self decodeObjectOfClasses: [NSSet setWithObject:(id)cls]
|
||||
forKey: aKey];
|
||||
}
|
||||
|
||||
- (id) decodeObjectOfClasses: (NSSet *)classes forKey: (NSString *)aKey
|
||||
{
|
||||
[self subclassResponsibility: _cmd];
|
||||
return nil;
|
||||
}
|
||||
|
||||
- (void) encodeBool: (BOOL) aBool forKey: (NSString*)aKey
|
||||
{
|
||||
[self subclassResponsibility: _cmd];
|
||||
|
|
|
@ -365,6 +365,16 @@ static NSMapTable *globalClassMap = 0;
|
|||
return YES;
|
||||
}
|
||||
|
||||
- (BOOL)requiresSecureCoding
|
||||
{
|
||||
return NO;
|
||||
}
|
||||
|
||||
- (void)setRequiresSecureCoding: (BOOL)secure
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
- (Class) classForClassName: (NSString*)aString
|
||||
{
|
||||
return _clsMap == 0 ? Nil : (Class)NSMapGet(_clsMap, (void*)aString);
|
||||
|
@ -636,6 +646,11 @@ static NSMapTable *globalClassMap = 0;
|
|||
return nil;
|
||||
}
|
||||
|
||||
- (id) decodeObjectOfClasses: (NSSet *)classes forKey: (NSString *)key
|
||||
{
|
||||
return [self decodeObjectForKey: key];
|
||||
}
|
||||
|
||||
- (NSPoint) decodePoint
|
||||
{
|
||||
NSPoint p;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue