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
|
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
|
-
+
+
-
+
+
-
+
+
-
+
-
+
-
|
# API Review for 1.0
For the 1.0 release, all APIs should be reviewed, as starting 1.0, they are supposed to be stable.
Right now, we have fhe following:
## Protocols
* ❌ OFApplicationDelegate
* ❌ OFCollection
* ✅ OFCollection
* ❌ OFComparing
* Should be removed to improve type safety (instead of taking `id`, every class should have a method that takes its own type)
* ❌ OFCopying
* ✅ OFCopying
* ❌ OFCryptoHash
* ❌ OFDatagramSocketDelegate
* ❌ OFDNSResolverHostDelegate
* ❌ OFDNSResolverQueryDelegate
* ❌ OFEnumerating
* Should be renamed to OFEnumeration to align with OFFastEnumeration
* ❌ OFFastEnumeration
* ✅ OFFastEnumeration
* API given by the compiler
* ❌ OFHTTPClientDelegate
* ❌ OFHTTPServerDelegate
* ❌ OFIPSocketAsyncConnecting
* ❌ OFIPXSocketDelegate
* ❌ OFJSONRepresentation
* ❌ OFKernelEventObserverDelegate
* ❌ OFKeyValueCoding
* ❌ OFLocking
* ✅ OFLocking
* ❌ OFMessagePackRepresentation
* ❌ OFMutableCopying
* ✅ OFMutableCopying
* ❌ OFObject
* ❌ OFReadyForReadingObserving
* ❌ OFReadyForWritingObserving
* ❌ OFSequencedPacketSocketDelegate
* ❌ OFSerialization
* ❌ OFSPXSocketDelegate
* ❌ OFSPXStreamSocketDelegate
* ❌ OFStreamDelegate
* ❌ OFStreamSocketDelegate
* ❌ OFStringXMLUnescapingDelegate
* ❌ OFTCPSocketDelegate
* ❌ OFTLSSocket
* ❌ OFTLSSocket;
* ❌ OFTLSSocketDelegate
* ❌ OFUDPSocketDelegate
* ❌ OFUNIXDatagramSocketDelegate
* ❌ OFXMLElementBuilderDelegate
* ❌ OFXMLParserDelegate
## Classes
|
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
|
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
|
-
+
-
+
-
+
|
* ❌ OFXMLParser
* ❌ OFXMLProcessingInstructions
* ❌ OFZIPArchive
* ❌ OFZIPArchiveEntry
## Commands
*Get all protocols*
**Get all protocols**
```sh
find src -name '*.h' -and -not -name '*+Private.h' -and -not -wholename 'src/bridge/*' -and -not -wholename 'src/runtime/*' -exec grep '^@protocol ' {} \; | sed 's/^@protocol /* ❌ /' | sed 's/:.*//' | sed 's/<.*>//' | sort
find src -name '*.h' -and -not -name '*+Private.h' -and -not -wholename 'src/bridge/*' -and -not -wholename 'src/runtime/*' -exec grep '^@protocol ' {} \; | grep -v '^@protocol.*;' | sed 's/^@protocol /* ❌ /' | sed 's/:.*//' | sed 's/<.*>//' | sort
```
*Get all classes*
**Get all classes**
```sh
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/</\</' | sed 's/>/\>/' | sort
```
|