ObjFW  Changes To API Review for 1.0

Changes to "API Review for 1.0" between 2021-04-07 18:22:53 and 2021-04-07 18:38: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
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/</\&lt;/' | sed 's/>/\&gt;/' | sort
```