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