1/* 2 * This defines a category that is used by the 3 * NSCoding support code. All of these methods 4 * are private, for PyObjC users the NSCoding 5 * wrappers in pyobjc-framework-Cocoa work just 6 * fine but we cannot use that in this package 7 * to avoid creating circular dependencies. 8 */ 9#import <Foundation/Foundation.h> 10 11@implementation NSCoder (pyobjc) 12 13-(void)__pyobjc__encodeInt:(int)value 14{ 15 [self encodeValueOfObjCType:"i" at:&value]; 16} 17 18-(void)__pyobjc__encodeInt32:(int)value 19{ 20 [self encodeValueOfObjCType:"i" at:&value]; 21} 22 23-(void)__pyobjc__encodeInt64:(long long)value 24{ 25 [self encodeValueOfObjCType:"q" at:&value]; 26} 27 28-(void)__pyobjc__encodeBool:(bool)value 29{ 30 [self encodeValueOfObjCType:"b" at:&value]; 31} 32 33-(int)__pyobjc__decodeInt 34{ 35 int value; 36 [self decodeValueOfObjCType:"i" at:&value]; 37 return value; 38} 39 40-(int)__pyobjc__decodeInt32 41{ 42 int value; 43 [self decodeValueOfObjCType:"i" at:&value]; 44 return value; 45} 46 47-(long long)__pyobjc__decodeInt64 48{ 49 long long value; 50 [self decodeValueOfObjCType:"q" at:&value]; 51 return value; 52} 53 54-(bool)__pyobjc__decodeBool 55{ 56 bool value; 57 [self decodeValueOfObjCType:"b" at:&value]; 58 return value; 59} 60 61@end 62