]>
Commit | Line | Data |
---|---|---|
d8925383 A |
1 | This is the CoreFoundation framework project for Darwin, |
2 | sometimes also known as "CF-lite", because it does not | |
3 | contain every facility available from the CoreFoundation | |
4 | framework in Mac OS X. | |
5 | ||
bd5b749c A |
6 | This CoreFoundation corresponds to the Mac OS X 10.5.2 version |
7 | of CF (CF-476.10) | |
8 | ||
d8925383 A |
9 | The purpose of this README file is to share "what needs |
10 | doing", "how to do things", and Q&A information about | |
11 | CF-lite, as this information is discovered. | |
12 | ||
13 | --- What Apple is NOT interested in, with CF-lite: | |
14 | * Everybody's little convenience methods. Just because | |
15 | "everybody has to write their own", it does not | |
16 | follow immediately that it is a good idea to add it | |
17 | to the system libraries. It is not a goal of CF to | |
18 | be a "Swiss Army Knife"; that just increases the | |
19 | size of the binaries, and the documentation and | |
20 | maintenance burden. Functions to reverse a string | |
21 | or merge two arrays by taking alternate elements | |
22 | from the two arrays are not compelling. | |
23 | ||
24 | ||
25 | --- Major changes since March 2000: | |
26 | * Partial port to Linux | |
27 | * CF runtime refactored into CFRuntime.[hc], changed how | |
28 | types are registered/known to the runtime | |
29 | * CFMachPort and CFMessagePort now public API. | |
30 | * Most private symbols now are flagged with | |
31 | __private_extern__ so they aren't exported from | |
32 | the binary. | |
33 | * Partial port to FreeBSD. | |
34 | * CFBundle, CFPlugIn APIs added to Darwin. | |
35 | ||
36 | ||
37 | --- CF-lite to-do list: | |
38 | [Note: when it says "Apple has code" below, that usually | |
39 | means "Apple has some code it could provide to start an | |
40 | effort here", not "Apple has some code in the pipe, don't | |
41 | bother with this item". Anyone known to be doing work on | |
42 | any of these items will be listed here, including Apple.] | |
43 | * Some classes have a fair number of assertions, nearly all | |
44 | related to parameter checking. More assertions are needed | |
45 | nearly everywhere. The assertions that are there have been | |
46 | often found to be valuable -- you just get a message about | |
47 | some bad parameter and there's the bug. | |
48 | * More header doc is needed. CFArray.h and CFDictionary.h | |
49 | are models. | |
50 | * An exception model, similar to Cocoa Foundation's. Apple | |
51 | has some code for this already, and try/catch model like | |
52 | C++ is simple enough to support; finally blocks a la Java | |
53 | don't seem to be practical within the confines of ANSI C. | |
54 | * A CFFileDescriptor is needed which can act as a run loop | |
55 | source. Or maybe it should be CFPipeDescriptor. This is | |
56 | NOT something for general file handling -- just monitoring | |
57 | a file descriptor which is a pipe (for which there are | |
58 | notifications or other async activity). | |
59 | ||
60 | ||
61 | Contributors | |
62 | ------------ | |
63 | March 2000: partial port to Linux by Pedro Ivo Tavares (ptavares@iname.com). | |
64 | This was mostly integrated by ckane@apple.com by CoreFoundation-5, | |
65 | but the style was changed, and the hand-crafted Makefile, which is | |
66 | new since this port, tries to take care of some of the things that | |
67 | are needed for Linux (and build a libCoreFoundation.a instead of a | |
68 | CoreFoundation.framework), but ckane does not have a Linux box and | |
69 | can't finish that and test building. | |
70 | ||
71 | December 2000: port to FreeBSD by Sarwat Khan (sarwat@sarwat.net). | |
72 | Port to FreeBSD, except for RunLoop.subproj items. Integrated by | |
73 | ckane@apple.com into CoreFoundation-8. ckane also marginally | |
74 | improved the Linux port in that version. | |
75 | ||
76 | March 2001: CoreFoundation-9, corresponding to CoreFoundation-197 in | |
77 | Mac OS X, synchronizes Darwin CF with Mac OS X's released CF. | |
78 | ||
79 | May 2001: CoreFoundation-10, corresponding to CoreFoundation-206.5 | |
80 | synchronizes Darwin CF with TOT CoreFoundation. | |
81 | ||
82 | June 2001: Linux port maintenance by Robert Thompson <rothomp3@mac.com>. | |
83 | ||
84 | July 2001: Integrated addition of headerdoc for CFBinaryHeap.h from | |
85 | Kevin Van Vechten <kevinvv@uclink4.berkeley.edu>. | |
86 | ||
87 | Sept 2001: CoreFoundation-14, sync with Mac OS X 10.1 | |
88 | ||
89 | Oct 2001: More header doc (e.g., CFSet.h) and some CFTree implementation | |
90 | from Kevin Van Vechten <kevinvv@uclink4.berkeley.edu>. | |
91 | ||
92 | Jan 2002: Windows(TM) port changes from Kevin Van Vechten <kevinvv@uclink4.berkeley.edu>. | |
93 | ||
94 | Feb 2002: Some Windows(TM) port changes from Aleskey Dukhnyakov, Andrew Dzubandovsky, | |
95 | Roman Mukhin, and Sergey Zubarev; Orc Software<daa@orcsoftware.spb.ru> | |
96 | ||
97 |