1'''
2Python mapping for the Foundation framework.
3
4This module does not contain docstrings for the wrapped code, check Apple's
5documentation for details on how to use these functions and classes.
6'''
7import sys
8import objc
9import CoreFoundation
10
11from Foundation import _metadata
12from Foundation._inlines import _inline_list_
13
14sys.modules['Foundation'] = mod = objc.ObjCLazyModule('Foundation',
15        'com.apple.Foundation',
16        objc.pathForFramework("/System/Library/Frameworks/Foundation.framework"),
17        _metadata.__dict__, _inline_list_, {
18            '__doc__': __doc__,
19            'objc': objc,
20            'YES': objc.YES,
21            'NO': objc.NO,
22            'NSMaximumStringLength': sys.maxsize - 1,
23            '__path__': __path__,
24        }, (CoreFoundation,))
25
26import Foundation._Foundation
27for nm in dir(Foundation._Foundation):
28    if nm.startswith('_'): continue
29    setattr(mod, nm, getattr(Foundation._Foundation, nm))
30
31import Foundation._nsobject
32import Foundation._nsindexset
33
34
35import Foundation._functiondefines
36for nm in dir(Foundation._functiondefines):
37    setattr(mod, nm, getattr(Foundation._functiondefines, nm))
38
39
40# XXX: This is suboptimal, could calculate this in the metadata
41# generator.
42import sys
43mod.NSIntegerMax = sys.maxsize
44mod.NSIntegerMin = - sys.maxsize - 1
45mod.NSUIntegerMax = (sys.maxsize * 2) + 1
46
47import Foundation._context
48for nm in dir(Foundation._context):
49    setattr(mod, nm, getattr(Foundation._context, nm))
50