ObjFW  Changes To API Review for 1.0

Initial version of "API Review for 1.0"





















































































































































































































































1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
For the 1.0 release, all APIs should be reviewed, as starting 1.0, they are supposed to be stable.

Right now, we have the following classes (generated using `find src -name '*.h' -and -not -name '*+Private.h' -and -not -wholename 'src/bridge/*' -and -not -wholename 'src/runtime/*' -exec grep '^@interface ' {} \; | sed 's/^@interface /* ❌ /' | sed 's/:.*//' | sed 's/OF_GENERIC(.*)//' | sed 's/</\&lt;/' | sed 's/>/\&gt;/' | sort`):

* ❌ NSString
* ❌ OFAAAADNSResourceRecord
* ❌ OFAcceptFailedException
* ❌ OFAdjacentArray
* ❌ OFAdjacentSubarray
* ❌ OFADNSResourceRecord
* ❌ OFAllocFailedException
* ❌ OFAlreadyConnectedException
* ❌ OFApplication
* ❌ OFArray 
* ❌ OFBindFailedException
* ❌ OFBitSetCharacterSet
* ❌ OFBlock
* ❌ OFBytesValue
* ❌ OFChangeCurrentDirectoryPathFailedException
* ❌ OFCharacterSet
* ❌ OFCharacterSet (URLCharacterSets)
* ❌ OFChecksumMismatchException
* ❌ OFCNAMEDNSResourceRecord
* ❌ OFColor
* ❌ OFCondition
* ❌ OFConditionBroadcastFailedException
* ❌ OFConditionSignalFailedException
* ❌ OFConditionStillWaitingException
* ❌ OFConditionWaitFailedException
* ❌ OFConnectionFailedException
* ❌ OFConstantString
* ❌ OFCopyItemFailedException
* ❌ OFCountedMapTableSet
* ❌ OFCountedSet 
* ❌ OFCreateDirectoryFailedException
* ❌ OFCreateSymbolicLinkFailedException
* ❌ OFCreateWindowsRegistryKeyFailedException
* ❌ OFData
* ❌ OFData (CryptoHashing)
* ❌ OFDatagramSocket
* ❌ OFData (MessagePackParsing)
* ❌ OFDate
* ❌ OFDeleteWindowsRegistryKeyFailedException
* ❌ OFDeleteWindowsRegistryValueFailedException
* ❌ OFDictionary 
* ❌ OFDictionary (FileAttributes)
* ❌ OFDimensionValue
* ❌ OFDNSQuery
* ❌ OFDNSQueryFailedException
* ❌ OFDNSResolver
* ❌ OFDNSResolverSettings
* ❌ OFDNSResourceRecord
* ❌ OFDNSResponse
* ❌ OFEnumerationMutationException
* ❌ OFEnumerator 
* ❌ OFEpollKernelEventObserver
* ❌ OFException
* ❌ OFFile
* ❌ OFFileManager
* ❌ OFFileURLHandler
* ❌ OFGetCurrentDirectoryPathFailedException
* ❌ OFGetOptionFailedException
* ❌ OFGetWindowsRegistryValueFailedException
* ❌ OFGlobalBlock
* ❌ OFGZIPStream
* ❌ OFHashAlreadyCalculatedException
* ❌ OFHINFODNSResourceRecord
* ❌ OFHMAC
* ❌ OFHostAddressResolver
* ❌ OFHTTPClient
* ❌ OFHTTPCookie
* ❌ OFHTTPCookieManager
* ❌ OFHTTPRequest
* ❌ OFHTTPRequestFailedException
* ❌ OFHTTPResponse
* ❌ OFHTTPServer
* ❌ OFHTTPURLHandler
* ❌ OFInflate64Stream
* ❌ OFInflateStream
* ❌ OFINICategory
* ❌ OFINIFile
* ❌ OFINIFileSettings
* ❌ OFInitializationFailedException
* ❌ OFInvalidArgumentException
* ❌ OFInvalidEncodingException
* ❌ OFInvalidFormatException
* ❌ OFInvalidJSONException
* ❌ OFInvalidServerReplyException
* ❌ OFInvertedCharacterSet
* ❌ OFInvocation
* ❌ OFIPSocketAsyncConnector
* ❌ OFIPXSocket
* ❌ OFKernelEventObserver
* ❌ OFKqueueKernelEventObserver
* ❌ OFLHAArchive
* ❌ OFLHAArchiveEntry
* ❌ OFLHADecompressingStream
* ❌ OFLinkFailedException
* ❌ OFList 
* ❌ OFListenFailedException
* ❌ OFLoadPluginFailedException
* ❌ OFLocale
* ❌ OFLockFailedException
* ❌ OFMalformedXMLException
* ❌ OFMallocBlock
* ❌ OFMapTable
* ❌ OFMapTableDictionary
* ❌ OFMapTableEnumerator
* ❌ OFMapTableSet
* ❌ OFMD5Hash
* ❌ OFMemoryNotPartOfObjectException
* ❌ OFMessagePackExtension
* ❌ OFMethodSignature
* ❌ OFMoveItemFailedException
* ❌ OFMutableAdjacentArray
* ❌ OFMutableArray 
* ❌ OFMutableData
* ❌ OFMutableDictionary 
* ❌ OFMutableLHAArchiveEntry
* ❌ OFMutableMapTableDictionary
* ❌ OFMutableMapTableSet
* ❌ OFMutablePair 
* ❌ OFMutableSet 
* ❌ OFMutableString
* ❌ OFMutableTarArchiveEntry
* ❌ OFMutableTriple 
* ❌ OFMutableURL
* ❌ OFMutableUTF8String
* ❌ OFMutableZIPArchiveEntry
* ❌ OFMutex
* ❌ OFMXDNSResourceRecord
* ❌ OFNonretainedObjectValue
* ❌ OFNotImplementedException
* ❌ OFNotOpenException
* ❌ OFNSDNSResourceRecord
* ❌ OFNull
* ❌ OFNumber
* ❌ OFObject (KeyValueCoding) &lt;OFKeyValueCoding&gt;
* ❌ OFObject &lt;OFObject&gt;
* ❌ OFObject (OFSerialization)
* ❌ OFObserveFailedException
* ❌ OFOpenItemFailedException
* ❌ OFOpenWindowsRegistryKeyFailedException
* ❌ OFOptionsParser
* ❌ OFOutOfMemoryException
* ❌ OFOutOfRangeException
* ❌ OFPair 
* ❌ OFPlugin
* ❌ OFPointerValue
* ❌ OFPointValue
* ❌ OFPollKernelEventObserver
* ❌ OFPTRDNSResourceRecord
* ❌ OFRangeCharacterSet
* ❌ OFRangeValue
* ❌ OFReadFailedException
* ❌ OFReadOrWriteFailedException
* ❌ OFRectangleValue
* ❌ OFRecursiveMutex
* ❌ OFRemoveItemFailedException
* ❌ OFResolveHostFailedException
* ❌ OFRetrieveItemAttributesFailedException
* ❌ OFRIPEMD160Hash
* ❌ OFRPDNSResourceRecord
* ❌ OFRunLoop
* ❌ OFSandbox
* ❌ OFSandboxActivationFailedException
* ❌ OFSecureData
* ❌ OFSeekableStream
* ❌ OFSeekFailedException
* ❌ OFSelectKernelEventObserver
* ❌ OFSequencedPacketSocket
* ❌ OFSet 
* ❌ OFSetItemAttributesFailedException
* ❌ OFSetOptionFailedException
* ❌ OFSettings
* ❌ OFSetWindowsRegistryValueFailedException
* ❌ OFSHA1Hash
* ❌ OFSHA224Hash
* ❌ OFSHA224Or256Hash
* ❌ OFSHA256Hash
* ❌ OFSHA384Hash
* ❌ OFSHA384Or512Hash
* ❌ OFSHA512Hash
* ❌ OFSOADNSResourceRecord
* ❌ OFSortedList 
* ❌ OFSPXSocket
* ❌ OFSPXStreamSocket
* ❌ OFSRVDNSResourceRecord
* ❌ OFStackBlock
* ❌ OFStdIOStream
* ❌ OFStillLockedException
* ❌ OFStream
* ❌ OFStreamSocket
* ❌ OFString
* ❌ OFString (CryptoHashing)
* ❌ OFString (JSONParsing)
* ❌ OFString (PathAdditions)
* ❌ OFString (PropertyListParsing)
* ❌ OFString (Serialization)
* ❌ OFString (URLEncoding)
* ❌ OFString (XMLEscaping)
* ❌ OFString (XMLUnescaping)
* ❌ OFSubarray
* ❌ OFSubprocess
* ❌ OFSystemInfo
* ❌ OFTarArchive
* ❌ OFTarArchiveEntry
* ❌ OFTCPSocket
* ❌ OFTCPSocketSOCKS5Connector
* ❌ OFThread
* ❌ OFThreadJoinFailedException
* ❌ OFThreadStartFailedException
* ❌ OFThreadStillRunningException
* ❌ OFTimer
* ❌ OFTriple 
* ❌ OFTruncatedDataException
* ❌ OFTXTDNSResourceRecord
* ❌ OFUDPSocket
* ❌ OFUnboundNamespaceException
* ❌ OFUnboundPrefixException
* ❌ OFUndefinedKeyException
* ❌ OFUnknownXMLEntityException
* ❌ OFUnlockFailedException
* ❌ OFUnsupportedProtocolException
* ❌ OFUnsupportedVersionException
* ❌ OFURL
* ❌ OFURLHandler
* ❌ OFUTF8String
* ❌ OFValue
* ❌ OFWin32ConsoleStdIOStream
* ❌ OFWindowsRegistryKey
* ❌ OFWriteFailedException
* ❌ OFXMLAttribute
* ❌ OFXMLCDATA
* ❌ OFXMLCharacters
* ❌ OFXMLComment
* ❌ OFXMLElement
* ❌ OFXMLElementBuilder
* ❌ OFXMLElement (OFSerialization)
* ❌ OFXMLNode
* ❌ OFXMLParser
* ❌ OFXMLProcessingInstructions
* ❌ OFZIPArchive
* ❌ OFZIPArchiveEntry