ObjFW  Check-in [cc3ad3ddd3]

Overview
Comment:Documentation: Use @brief for all properties
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: cc3ad3ddd3744a81a7652f49e7e923a771f0c016d00b5ea97b6ad333a947fa5f
User & Date: js on 2017-11-18 18:50:50
Other Links: manifest | tags
Context
2017-11-18
18:58
Doxyfile: Add OF_KINDOF check-in: 6f1f7794a8 user: js tags: trunk
18:50
Documentation: Use @brief for all properties check-in: cc3ad3ddd3 user: js tags: trunk
17:45
Fix several Doxygen warnings check-in: 31e6b7ce9c user: js tags: trunk
Changes

Modified src/OFApplication.h from [af6e45f48f] to [21318ded74].

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
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







-
+




-
+




-
+





-
+







@property (class, readonly, nullable, nonatomic)
    OFArray OF_GENERIC(OFString *) *arguments;
@property (class, readonly, nullable, nonatomic)
    OFDictionary OF_GENERIC(OFString *, OFString *) *environment;
#endif

/*!
 * The name of the program (argv[0]).
 * @brief The name of the program (argv[0]).
 */
@property (readonly, nonatomic) OFString *programName;

/*!
 * The arguments passed to the application.
 * @brief The arguments passed to the application.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(OFString *) *arguments;

/*!
 * The environment of the application.
 * @brief The environment of the application.
 */
@property (readonly, nonatomic)
    OFDictionary OF_GENERIC(OFString *, OFString *) *environment;

/*!
 * The delegate of the application.
 * @brief The delegate of the application.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    id <OFApplicationDelegate> delegate;

/*!
 * @brief Returns the only OFApplication instance in the application.
 *

Modified src/OFArray.h from [420b1d0ef7] to [7014b0da9d].

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
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







-
+









-
+







-
+







-
+




-
+







 * @return A new autoreleased OFArray
 */
+ (instancetype)
    arrayWithObjects: (ObjectType const _Nonnull *_Nonnull)objects
	       count: (size_t)count;

/*!
 * The objects of the array as a C array.
 * @brief The objects of the array as a C array.
 *
 * The result is valid until the autorelease pool is released. If you want to
 * use the result outside the scope of the current autorelease pool, you have to
 * copy it.
 */
@property (readonly, nonatomic)
    ObjectType const __unsafe_unretained _Nonnull *_Nonnull objects;

/*!
 * The first object of the array or `nil`.
 * @brief The first object of the array or `nil`.
 *
 * @warning The returned object is *not* retained and autoreleased for
 *	    performance reasons!
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) ObjectType firstObject;

/*!
 * The last object of the array or `nil`.
 * @brief The last object of the array or `nil`.
 *
 * @warning The returned object is *not* retained and autoreleased for
 *	    performance reasons!
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) ObjectType lastObject;

/*!
 * The array sorted in ascending order.
 * @brief The array sorted in ascending order.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(ObjectType) *sortedArray;

/*!
 * The array with the order reversed.
 * @brief The array with the order reversed.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(ObjectType) *reversedArray;

/*!
 * @brief Initializes an OFArray with the specified object.
 *
 * @param object An object

Modified src/OFCharacterSet.h from [3a3c180f05] to [dbe0689cd4].

22
23
24
25
26
27
28
29
30


31
32
33
34
35
36
37
22
23
24
25
26
27
28


29
30
31
32
33
34
35
36
37







-
-
+
+







/*!
 * @class OFCharacterSet OFCharacterSet.h ObjFW/OFCharacterSet.h
 *
 * @brief A class cluster representing a character set.
 */
@interface OFCharacterSet: OFObject
/*!
 * The inverted set, containing only the characters that do not exist in the
 * receiver.
 * @brief The inverted set, containing only the characters that do not exist in
 *	  the receiver.
 */
@property (readonly, nonatomic) OFCharacterSet *invertedSet;

/*!
 * @brief Creates a new character set containing the characters of the
 *	  specified string.
 *

Modified src/OFCollection.h from [6da8efa84a] to [af42edca74].

21
22
23
24
25
26
27
28

29
30
31
32
33
34
35
21
22
23
24
25
26
27

28
29
30
31
32
33
34
35







-
+







/*!
 * @protocol OFCollection OFCollection.h ObjFW/OFCollection.h
 *
 * @brief A protocol with methods common for all collections.
 */
@protocol OFCollection <OFEnumerating, OFFastEnumeration>
/*!
 * @return The number of objects in the collection
 * @brief The number of objects in the collection
 */
@property (readonly, nonatomic) size_t count;

/*!
 * @brief Checks whether the collection contains an object equal to the
 *	  specified object.
 *

Modified src/OFCryptoHash.h from [2634ee9f93] to [7d42c94152].

30
31
32
33
34
35
36
37

38
39
40
41
42

43
44
45
46
47
48
49
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
49







-
+




-
+







@protocol OFCryptoHash <OFObject, OFCopying>
#ifdef OF_HAVE_CLASS_PROPERTIES
@property (class, readonly, nonatomic) size_t digestSize;
@property (class, readonly, nonatomic) size_t blockSize;
#endif

/*!
 * A boolean whether the hash has already been calculated.
 * @brief A boolean whether the hash has already been calculated.
 */
@property (readonly, nonatomic, getter=isCalculated) bool calculated;

/*!
 * A buffer containing the cryptographic hash.
 * @brief A buffer containing the cryptographic hash.
 *
 * The size of the buffer depends on the hash used. The buffer is part of the
 * receiver's memory pool.
 */
@property (readonly, nonatomic) const unsigned char *digest
    OF_RETURNS_INNER_POINTER;

Modified src/OFData+CryptoHashing.h from [0008631388] to [31bcf28a7b].

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
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







-
+




-
+




-
+




-
+




-
+




-
+




-
+





extern int _OFData_CryptoHashing_reference;
#ifdef __cplusplus
}
#endif

@interface OFData (CryptoHashing)
/*!
 * The MD5 hash of the data as a string.
 * @brief The MD5 hash of the data as a string.
 */
@property (readonly, nonatomic) OFString *MD5Hash;

/*!
 * The RIPEMD-160 hash of the data as a string.
 * @brief The RIPEMD-160 hash of the data as a string.
 */
@property (readonly, nonatomic) OFString *RIPEMD160Hash;

/*!
 * The SHA-1 hash of the data as a string.
 * @brief The SHA-1 hash of the data as a string.
 */
@property (readonly, nonatomic) OFString *SHA1Hash;

/*!
 * The SHA-224 hash of the data as a string.
 * @brief The SHA-224 hash of the data as a string.
 */
@property (readonly, nonatomic) OFString *SHA224Hash;

/*!
 * The SHA-256 hash of the data as a string.
 * @brief The SHA-256 hash of the data as a string.
 */
@property (readonly, nonatomic) OFString *SHA256Hash;

/*!
 * The SHA-384 hash of the data as a string.
 * @brief The SHA-384 hash of the data as a string.
 */
@property (readonly, nonatomic) OFString *SHA384Hash;

/*!
 * @return The SHA-512 hash of the data as a string.
 * @brief The SHA-512 hash of the data as a string.
 */
@property (readonly, nonatomic) OFString *SHA512Hash;
@end

OF_ASSUME_NONNULL_END

Modified src/OFData+MessagePackValue.h from [7771c81a20] to [b286f51f50].

24
25
26
27
28
29
30
31


32
33
34
35
36
37
38
24
25
26
27
28
29
30

31
32
33
34
35
36
37
38
39







-
+
+







extern int _OFData_MessagePackValue_reference;
#ifdef __cplusplus
}
#endif

@interface OFData (MessagePackValue)
/*!
 * The data interpreted as MessagePack representation and parsed as an object.
 * @brief The data interpreted as MessagePack representation and parsed as an
 *	  object.
 */
@property (readonly, nonatomic) id messagePackValue;

/*!
 * @brief Parses the MessagePack representation and returns it as an object.
 *
 * @param depthLimit The maximum depth the parser should accept (defaults to 32

Modified src/OFData.h from [d1decb9e79] to [bda35b67de].

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
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







-
+




-
+




-
+


-




-
+





-
+





-
+







-
+







{
	unsigned char *_items;
	size_t _count, _itemSize;
	bool _freeWhenDone;
}

/*!
 * The size of a single item in the OFData in bytes.
 * @brief The size of a single item in the OFData in bytes.
 */
@property (readonly, nonatomic) size_t itemSize;

/*!
 * The number of items in the OFData.
 * @brief The number of items in the OFData.
 */
@property (readonly, nonatomic) size_t count;

/*!
 * All elements of the OFData as a C array.
 * @brief All elements of the OFData as a C array.
 *
 * @warning The pointer is only valid until the OFData is changed!
 *
 */
@property (readonly, nonatomic) const void *items OF_RETURNS_INNER_POINTER;

/*!
 * The first item of the OFData or NULL.
 * @brief The first item of the OFData or `NULL`.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) const void *firstItem
    OF_RETURNS_INNER_POINTER;

/*!
 * The last item of the OFData or NULL.
 * @brief The last item of the OFData or `NULL`.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) const void *lastItem
    OF_RETURNS_INNER_POINTER;

/*!
 * The string representation of the data.
 * @brief The string representation of the data.
 *
 * The string representation is a hex dump of the data, grouped by itemSize
 * bytes.
 */
@property (readonly, nonatomic) OFString *stringRepresentation;

/*!
 * A string containing the data in Base64 encoding.
 * @brief A string containing the data in Base64 encoding.
 */
@property (readonly, nonatomic) OFString *stringByBase64Encoding;

/*!
 * @brief Creates a new OFData with the specified `count` items of size 1.
 *
 * @param items The items to store in the OFData

Modified src/OFDate.h from [f919b696b5] to [fe05372c22].

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
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







-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+








#ifdef OF_HAVE_CLASS_PROPERTIES
@property (class, readonly, nonatomic) OFDate *distantFuture;
@property (class, readonly, nonatomic) OFDate *distantPast;
#endif

/*!
 * The microsecond of the date.
 * @brief The microsecond of the date.
 */
@property (readonly, nonatomic) uint32_t microsecond;

/*!
 * The second of the date.
 * @brief The second of the date.
 */
@property (readonly, nonatomic) uint8_t second;

/*!
 * The minute of the date.
 * @brief The minute of the date.
 */
@property (readonly, nonatomic) uint8_t minute;

/*!
 * The minute of the date in local time.
 * @brief The minute of the date in local time.
 */
@property (readonly, nonatomic) uint8_t localMinute;

/*!
 * The hour of the date.
 * @brief The hour of the date.
 */
@property (readonly, nonatomic) uint8_t hour;

/*!
 * The hour of the date in local time.
 * @brief The hour of the date in local time.
 */
@property (readonly, nonatomic) uint8_t localHour;

/*!
 * The day of the month of the date.
 * @brief The day of the month of the date.
 */
@property (readonly, nonatomic) uint8_t dayOfMonth;

/*!
 * The day of the month of the date in local time.
 * @brief The day of the month of the date in local time.
 */
@property (readonly, nonatomic) uint8_t localDayOfMonth;

/*!
 * The month of the year of the date.
 * @brief The month of the year of the date.
 */
@property (readonly, nonatomic) uint8_t monthOfYear;

/*!
 * The month of the year of the date in local time.
 * @brief The month of the year of the date in local time.
 */
@property (readonly, nonatomic) uint8_t localMonthOfYear;

/*!
 * The year of the date.
 * @brief The year of the date.
 */
@property (readonly, nonatomic) uint16_t year;

/*!
 * The year of the date in local time.
 * @brief The year of the date in local time.
 */
@property (readonly, nonatomic) uint16_t localYear;

/*!
 * The day of the week of the date.
 * @brief The day of the week of the date.
 */
@property (readonly, nonatomic) uint8_t dayOfWeek;

/*!
 * The day of the week of the date in local time.
 * @brief The day of the week of the date in local time.
 */
@property (readonly, nonatomic) uint8_t localDayOfWeek;

/*!
 * The day of the year of the date.
 * @brief The day of the year of the date.
 */
@property (readonly, nonatomic) uint16_t dayOfYear;

/*!
 * The day of the year of the date in local time.
 * @brief The day of the year of the date in local time.
 */
@property (readonly, nonatomic) uint16_t localDayOfYear;

/*!
 * The seconds since 1970-01-01T00:00:00Z.
 * @brief The seconds since 1970-01-01T00:00:00Z.
 */
@property (readonly, nonatomic) of_time_interval_t timeIntervalSince1970;

/*!
 * The seconds the date is in the future.
 * @brief The seconds the date is in the future.
 */
@property (readonly, nonatomic) of_time_interval_t timeIntervalSinceNow;

/*!
 * @brief Creates a new OFDate with the current date and time.
 *
 * @return A new, autoreleased OFDate with the current date and time

Modified src/OFDictionary.h from [d4aab8a73d] to [19f6d1e56d].

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
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







-
+




-
+




-
+







 * @param firstKey The first key
 * @return A new autoreleased OFDictionary
 */
+ (instancetype)dictionaryWithKeysAndObjects: (KeyType)firstKey, ...
    OF_SENTINEL;

/*!
 * An array of all keys.
 * @brief An array of all keys.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(KeyType) *allKeys;

/*!
 * An array of all objects.
 * @brief An array of all objects.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(ObjectType) *allObjects;

/*!
 * A URL-encoded string with the contents of the dictionary.
 * @brief A URL-encoded string with the contents of the dictionary.
 */
@property (readonly, nonatomic) OFString *stringByURLEncoding;

/*!
 * @brief Initializes an already allocated OFDictionary with the specified
 *	  OFDictionary.
 *

Modified src/OFEnumerator.h from [ba066f3027] to [55420bac63].

42
43
44
45
46
47
48
49

50
51
52
53
54

55
56
57
58
59
60
61
42
43
44
45
46
47
48

49
50
51
52
53

54
55
56
57
58
59
60
61







-
+




-
+







 * @brief A class which provides methods to enumerate through collections.
 */
@interface OFEnumerator OF_GENERIC(ObjectType): OFObject
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# define ObjectType id
#endif
/*!
 * An array of all remaining objects in the collection.
 * @brief An array of all remaining objects in the collection.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(ObjectType) *allObjects;

/*!
 * Returns the next object or `nil` if there is none left.
 * @brief Returns the next object or `nil` if there is none left.
 *
 * @return The next object or `nil` if there is none left
 */
- (nullable ObjectType)nextObject;

/*!
 * @brief Resets the enumerator, so the next call to nextObject returns the

Modified src/OFFileManager.h from [28928f59fe] to [819d7d3e09].

231
232
233
234
235
236
237
238

239
240
241
242
243

244
245
246
247
248
249
250
231
232
233
234
235
236
237

238
239
240
241
242

243
244
245
246
247
248
249
250







-
+




-
+







 */
@interface OFFileManager: OFObject
#ifdef OF_HAVE_CLASS_PROPERTIES
@property (class, readonly, nonatomic) OFFileManager *defaultManager;
#endif

/*!
 * The path of the current working directory.
 * @brief The path of the current working directory.
 */
@property (readonly, nonatomic) OFString *currentDirectoryPath;

/*!
 * The URL of the current working directory.
 * @brief The URL of the current working directory.
 */
@property (readonly, nonatomic) OFURL *currentDirectoryURL;

/*!
 * @brief Returns the default file manager.
 */
+ (OFFileManager *)defaultManager;

Modified src/OFHMAC.h from [0c8ac23177] to [5058cb9282].

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
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







-
+




-
+








-
+







	Class <OFCryptoHash> _hashClass;
	id <OFCryptoHash> _Nullable _outerHash, _innerHash;
	id <OFCryptoHash> _Nullable _outerHashCopy, _innerHashCopy;
	bool _calculated;
}

/*!
 * The class for the cryptographic hash used by the HMAC.
 * @brief The class for the cryptographic hash used by the HMAC.
 */
@property (readonly, nonatomic) Class <OFCryptoHash> hashClass;

/*!
 * A buffer containing the HMAC.
 * @brief A buffer containing the HMAC.
 *
 * The size of the buffer depends on the hash used. The buffer is part of the
 * receiver's memory pool.
 */
@property (readonly, nonatomic) const unsigned char *digest
    OF_RETURNS_INNER_POINTER;

/*!
 * The size of the digest.
 * @brief The size of the digest.
 */
@property (readonly, nonatomic) size_t digestSize;

/*!
 * @brief Returns a new OFHMAC with the specified hashing algorithm.
 *
 * @param hashClass The class of the hashing algorithm

Modified src/OFHTTPClient.h from [414d2558e4] to [ee9dc77896].

150
151
152
153
154
155
156
157

158
159
160
161
162
163

164
165
166
167
168
169
170
150
151
152
153
154
155
156

157
158
159
160
161
162

163
164
165
166
167
168
169
170







-
+





-
+







	OFTCPSocket *_Nullable _socket;
	OFURL *_Nullable _lastURL;
	bool _lastWasHEAD;
	OFHTTPResponse *_Nullable _lastResponse;
}

/*!
 * The delegate of the HTTP request.
 * @brief The delegate of the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    OFObject <OFHTTPClientDelegate> *delegate;

/*!
 * Whether redirects from HTTPS to HTTP will be allowed.
 * @brief Whether redirects from HTTPS to HTTP will be allowed.
 */
@property (nonatomic) bool insecureRedirectsAllowed;

/*!
 * @brief Creates a new OFHTTPClient.
 *
 * @return A new, autoreleased OFHTTPClient

Modified src/OFHTTPCookie.h from [3e83910dd6] to [5adbd64e16].

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
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







-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+







	OFString *_name, *_value, *_domain, *_path;
	OFDate *_Nullable _expires;
	bool _secure, _HTTPOnly;
	OFMutableArray OF_GENERIC(OFString *) *_extensions;
}

/*!
 * The name of the cookie.
 * @brief The name of the cookie.
 */
@property (copy, nonatomic) OFString *name;

/*!
 * The value of the cookie.
 * @brief The value of the cookie.
 */
@property (copy, nonatomic) OFString *value;

/*!
 * The domain for the cookie.
 * @brief The domain for the cookie.
 */
@property (copy, nonatomic) OFString *domain;

/*!
 * The path for the cookie.
 * @brief The path for the cookie.
 */
@property (copy, nonatomic) OFString *path;

/*!
 * The date when the cookie expires.
 * @brief The date when the cookie expires.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFDate *expires;

/*!
 * Whether the cookie is only to be used with HTTPS.
 * @brief Whether the cookie is only to be used with HTTPS.
 */
@property (nonatomic, getter=isSecure) bool secure;

/*!
 * Whether the cookie is only to be accessed through HTTP.
 * @brief Whether the cookie is only to be accessed through HTTP.
 */
@property (nonatomic, getter=isHTTPOnly) bool HTTPOnly;

/*!
 * An array of other attributes.
 * @brief An array of other attributes.
 */
@property (readonly, nonatomic)
    OFMutableArray OF_GENERIC(OFString *) *extensions;

/*!
 * @brief Parses the specified response header fields for the specified URL and
 *	  returns an array of cookies.

Modified src/OFHTTPCookieManager.h from [1b25d7fe48] to [00f5a34891].

30
31
32
33
34
35
36
37

38
39
40
41
42
43
44
30
31
32
33
34
35
36

37
38
39
40
41
42
43
44







-
+







 */
@interface OFHTTPCookieManager: OFObject
{
	OFMutableArray OF_GENERIC(OFHTTPCookie *) *_cookies;
}

/*!
 * All cookies known to the cookie manager.
 * @brief All cookies known to the cookie manager.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(OFHTTPCookie *) *cookies;

/*!
 * @brief Create a new cookie manager.
 *
 * @return A new, autoreleased OFHTTPCookieManager

Modified src/OFHTTPRequest.h from [0bad35c687] to [07ff666263].

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
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







-
+




-
+




-
+




-
+




-
+





-
+




-
+







	of_http_request_protocol_version_t _protocolVersion;
	OFDictionary OF_GENERIC(OFString *, OFString *) *_Nullable _headers;
	OFData *_Nullable _body;
	OFString *_Nullable _remoteAddress;
}

/*!
 * The URL of the HTTP request.
 * @brief The URL of the HTTP request.
 */
@property (copy, nonatomic) OFURL *URL;

/*!
 * The protocol version of the HTTP request.
 * @brief The protocol version of the HTTP request.
 */
@property (nonatomic) of_http_request_protocol_version_t protocolVersion;

/*!
 * The protocol version of the HTTP request as a string.
 * @brief The protocol version of the HTTP request as a string.
 */
@property (readonly, nonatomic) OFString *protocolVersionString;

/*!
 * The request method of the HTTP request.
 * @brief The request method of the HTTP request.
 */
@property (nonatomic) of_http_request_method_t method;

/*!
 * The headers for the HTTP request.
 * @brief The headers for the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic)
    OFDictionary OF_GENERIC(OFString *, OFString *) *headers;

/*!
 * The entity body of the HTTP request.
 * @brief The entity body of the HTTP request.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFData *body;

/*!
 * The remote address from which the request originates.
 * @brief The remote address from which the request originates.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *remoteAddress;

/*!
 * @brief Creates a new OFHTTPRequest.
 *
 * @return A new, autoreleased OFHTTPRequest

Modified src/OFHTTPResponse.h from [60a317d162] to [f0266695d4].

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
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







-
+




-
+




-
+




-
+





-
+







{
	of_http_request_protocol_version_t _protocolVersion;
	short _statusCode;
	OFDictionary OF_GENERIC(OFString *, OFString *) *_headers;
}

/*!
 * The protocol version of the HTTP request reply.
 * @brief The protocol version of the HTTP request reply.
 */
@property (nonatomic) of_http_request_protocol_version_t protocolVersion;

/*!
 * The protocol version of the HTTP request reply as a string.
 * @brief The protocol version of the HTTP request reply as a string.
 */
@property (readonly, nonatomic) OFString *protocolVersionString;

/*!
 * The status code of the reply to the HTTP request.
 * @brief The status code of the reply to the HTTP request.
 */
@property (nonatomic) short statusCode;

/*!
 * The headers of the reply to the HTTP request.
 * @brief The headers of the reply to the HTTP request.
 */
@property (copy, nonatomic) OFDictionary OF_GENERIC(OFString *, OFString *)
    *headers;

/*!
 * The reply as a string, trying to detect the encoding.
 * @brief The reply as a string, trying to detect the encoding.
 */
@property (readonly, nonatomic) OFString *string;

/*!
 * @brief Sets the protocol version of the HTTP request reply to the version
 *	  described by the specified string.
 *

Modified src/OFHTTPServer.h from [c1f8d9bed3] to [751caf553b].

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
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







-
+




-
+




-
+





-
+







	uint16_t _port;
	id <OFHTTPServerDelegate> _Nullable _delegate;
	OFString *_Nullable _name;
	OFTCPSocket *_Nullable _listeningSocket;
}

/*!
 * The host on which the HTTP server will listen.
 * @brief The host on which the HTTP server will listen.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *host;

/*!
 * The port on which the HTTP server will listen.
 * @brief The port on which the HTTP server will listen.
 */
@property (nonatomic) uint16_t port;

/*!
 * The delegate for the HTTP server.
 * @brief The delegate for the HTTP server.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    id <OFHTTPServerDelegate> delegate;

/*!
 * The server name the server presents to clients.
 * @brief The server name the server presents to clients.
 *
 * Setting it to `nil` means no `Server` header will be sent, unless one is
 * specified in the response headers.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *name;

/*!

Modified src/OFINICategory.h from [729eb91da7] to [ff12c0f0d2].

30
31
32
33
34
35
36
37

38
39
40
41
42
43
44
30
31
32
33
34
35
36

37
38
39
40
41
42
43
44







-
+







@interface OFINICategory: OFObject
{
	OFString *_name;
	OFMutableArray *_lines;
}

/*!
 * The name of the INI category
 * @brief The name of the INI category
 */
@property (copy, nonatomic) OFString *name;

- (instancetype)init OF_UNAVAILABLE;

/*!
 * @brief Returns the string value for the specified key, or `nil` if it does

Modified src/OFIntrospection.h from [b6e5a88492] to [b2b8e66678].

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
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







-
+




-
+




-
+



















-
+




-
+


















-
+




-
+



















-
+




-
+




-
+




















-
+




-
+




-
+







{
	SEL _selector;
	OFString *_name;
	const char *_typeEncoding;
}

/*!
 * The selector of the method.
 * @brief The selector of the method.
 */
@property (readonly, nonatomic) SEL selector;

/*!
 * The name of the method.
 * @brief The name of the method.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The type encoding for the method.
 * @brief The type encoding for the method.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) const char *typeEncoding;

- (instancetype)init OF_UNAVAILABLE;
@end

/*!
 * @class OFProperty OFIntrospection.h ObjFW/OFIntrospection.h
 *
 * @brief A class for describing a property.
 */
@interface OFProperty: OFObject
{
	OFString *_name;
	unsigned int _attributes;
	OFString *_Nullable _getter, *_Nullable _setter;
}

/*!
 * The name of the property.
 * @brief The name of the property.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The attributes of the property.
 * @brief The attributes of the property.
 *
 * The attributes are a bitmask with the following possible flags:@n
 * Flag                          | Description
 * ------------------------------|-------------------------------------
 * OF_PROPERTY_READONLY          | The property is declared `readonly`
 * OF_PROPERTY_READWRITE         | The property is declared `readwrite`
 * OF_PROPERTY_ASSIGN            | The property is declared `assign`
 * OF_PROPERTY_RETAIN            | The property is declared `retain`
 * OF_PROPERTY_COPY              | The property is declared `copy`
 * OF_PROPERTY_NONATOMIC         | The property is declared `nonatomic`
 * OF_PROPERTY_ATOMIC            | The property is declared `atomic`
 * OF_PROPERTY_WEAK              | The property is declared `weak`
 * OF_PROPERTY_SYNTHESIZED       | The property is synthesized
 * OF_PROPERTY_DYNAMIC           | The property is dynamic
 */
@property (readonly, nonatomic) unsigned int attributes;

/*!
 * The name of the getter.
 * @brief The name of the getter.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *getter;

/*!
 * @return The name of the setter.
 * @brief The name of the setter.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *setter;

- (instancetype)init OF_UNAVAILABLE;
@end

/*!
 * @class OFInstanceVariable OFIntrospection.h ObjFW/OFIntrospection.h
 *
 * @brief A class for describing an instance variable.
 */
@interface OFInstanceVariable: OFObject
{
	OFString *_name;
	const char *_typeEncoding;
	ptrdiff_t _offset;
}

/*!
 * The name of the instance variable.
 * @brief The name of the instance variable.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The offset of the instance variable.
 * @brief The offset of the instance variable.
 */
@property (readonly, nonatomic) ptrdiff_t offset;

/*!
 * The type encoding for the instance variable.
 * @brief The type encoding for the instance variable.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) const char *typeEncoding;

- (instancetype)init OF_UNAVAILABLE;
@end

/*!
 * @class OFIntrospection OFIntrospection.h ObjFW/OFIntrospection.h
 *
 * @brief A class for introspecting classes.
 */
@interface OFIntrospection: OFObject
{
	OFMutableArray OF_GENERIC(OFMethod *) *_classMethods;
	OFMutableArray OF_GENERIC(OFMethod *) *_instanceMethods;
	OFMutableArray OF_GENERIC(OFProperty *) *_properties;
	OFMutableArray OF_GENERIC(OFInstanceVariable *) *_instanceVariables;
}

/*!
 * The class methods of the class.
 * @brief The class methods of the class.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(OFMethod *) *classMethods;

/*!
 * The instance methods of the class.
 * @brief The instance methods of the class.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(OFMethod *) *instanceMethods;

/*!
 * The properties of the class.
 * @brief The properties of the class.
 *
 * @warning **Do not rely on this, as this behaves differently depending on the
 *	    compiler and ABI used!**
 *
 * @warning For the ObjFW ABI, Clang only emits data for property introspection
 *	    if `@``synthesize` or `@``dynamic` has been used on the property,
 *	    not if the property has only been implemented by methods. Using
186
187
188
189
190
191
192
193

194
195
196
197
198
199
200
186
187
188
189
190
191
192

193
194
195
196
197
198
199
200







-
+







 *
 * @warning GCC does not emit any data for property introspection for the GNU
 *	    ABI.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(OFProperty *) *properties;

/*!
 * The instance variables of the class.
 * @brief The instance variables of the class.
 */
@property (readonly, nonatomic)
    OFArray OF_GENERIC(OFInstanceVariable *) *instanceVariables;

/* TODO: protocols */

/*!

Modified src/OFInvocation.h from [045df89640] to [d8a720996e].

43
44
45
46
47
48
49
50

51
52
53
54
55
56
57
43
44
45
46
47
48
49

50
51
52
53
54
55
56
57







-
+







{
	OFMethodSignature *_methodSignature;
	OFMutableArray OF_GENERIC(OFMutableData *) *_arguments;
	OFMutableData *_returnValue;
}

/*!
 * The method signature for the invocation.
 * @brief The method signature for the invocation.
 */
@property (readonly, nonatomic) OFMethodSignature *methodSignature;

/*!
 * @brief Creates a new invocation with the specified method signature.
 *
 * @param signature The method signature for the invocation

Modified src/OFJSONRepresentation.h from [48d477f9f2] to [ef73e5e737].

33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
33
34
35
36
37
38
39

40
41
42
43
44
45
46
47







-
+







 *
 * @warning Although this method can be called directly on classes other than
 *	    OFArray and OFDictionary, this will generate invalid JSON, as JSON
 *	    requires all data to be encapsulated in an array or a dictionary!
 */
@protocol OFJSONRepresentation
/*!
 * The JSON representation of the object as a string.
 * @brief The JSON representation of the object as a string.
 */
@property (readonly, nonatomic) OFString *JSONRepresentation;

/*!
 * @brief Returns the JSON representation of the object as a string.
 *
 * @param options The options to use when creating a JSON representation.@n

Modified src/OFKernelEventObserver.h from [81ef5bf556] to [cad56e81b9].

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
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







-
-
+
+













-
-
+
+







 *	     OFKernelEventObserver.h ObjFW/OFKernelEventObserver.h
 *
 * @brief This protocol is implemented by classes which can be observed for
 *	  readiness for reading by OFKernelEventObserver.
 */
@protocol OFReadyForReadingObserving <OFObject>
/*!
 * The file descriptor for reading that should be checked by the
 * OFKernelEventObserver.
 * @brief The file descriptor for reading that should be checked by the
 *	  OFKernelEventObserver.
 */
@property (readonly, nonatomic) int fileDescriptorForReading;
@end

/*!
 * @protocol OFReadyForWritingObserving
 *	     OFKernelEventObserver.h ObjFW/OFKernelEventObserver.h
 *
 * @brief This protocol is implemented by classes which can be observed for
 *	  readiness for writing by OFKernelEventObserver.
 */
@protocol OFReadyForWritingObserving <OFObject>
/*!
 * The file descriptor for writing that should be checked by the
 * OFKernelEventObserver.
 * @brief The file descriptor for writing that should be checked by the
 *	  OFKernelEventObserver.
 */
@property (readonly, nonatomic) int fileDescriptorForWriting;
@end

/*!
 * @class OFKernelEventObserver
 *	  OFKernelEventObserver.h ObjFW/OFKernelEventObserver.h
116
117
118
119
120
121
122
123

124
125
126
127
128
129
130
116
117
118
119
120
121
122

123
124
125
126
127
128
129
130







-
+







	OFMutex *_mutex;
#endif
	OFMutableData *_queueActions;
	OFMutableArray *_queueObjects;
}

/*!
 * The delegate for the OFKernelEventObserver.
 * @brief The delegate for the OFKernelEventObserver.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    id <OFKernelEventObserverDelegate> delegate;

/*!
 * @brief Creates a new OFKernelEventObserver.
 *

Modified src/OFList.h from [767ebca506] to [a5f03851fb].

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
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







-
+





-
+







-
+





-
+







	of_list_object_t *_Nullable _firstListObject;
	of_list_object_t *_Nullable _lastListObject;
	size_t _count;
	unsigned long  _mutations;
}

/*!
 * The first list object of the list.
 * @brief The first list object of the list.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
    of_list_object_t *firstListObject;

/*!
 * The first object of the list or `nil`.
 * @brief The first object of the list or `nil`.
 *
 * @warning The returned object is *not* retained and autoreleased for
 *	    performance reasons!
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) ObjectType firstObject;

/*!
 * The last list object of the list.
 * @brief The last list object of the list.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
    of_list_object_t *lastListObject;

/*!
 * The last object of the list or `nil`.
 * @brief The last object of the list or `nil`.
 *
 * @warning The returned object is *not* retained and autoreleased for
 *	    performance reasons!
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) ObjectType lastObject;

/*!

Modified src/OFLocalization.h from [34aaf42873] to [496ae36266].

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
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







-
+






-
+






-
+









-
+







@property (class, readonly, nullable, nonatomic) OFString *language;
@property (class, readonly, nullable, nonatomic) OFString *territory;
@property (class, readonly, nonatomic) of_string_encoding_t encoding;
@property (class, readonly, nullable, nonatomic) OFString *decimalPoint;
#endif

/*!
 * The language of the locale for messages.
 * @brief The language of the locale for messages.
 *
 * If the language is unknown, it is `nil`.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *language;

/*!
 * The territory of the locale for messages.
 * @brief The territory of the locale for messages.
 *
 * If the territory is unknown, it is `nil`.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *territory;

/*!
 * The native 8-bit string encoding of the locale for messages.
 * @brief The native 8-bit string encoding of the locale for messages.
 *
 * This is useful to encode strings correctly for passing them to operating
 * system calls.
 *
 * If the native 8-bit encoding is unknown, UTF-8 is assumed.
 */
@property (readonly, nonatomic) of_string_encoding_t encoding;

/*!
 * The decimal point of the system's locale.
 * @brief The decimal point of the system's locale.
 */
@property (readonly, nonatomic) OFString *decimalPoint;

/*!
 * @brief Returns the shared OFLocalization instance.
 *
 * @warning If you don't use @ref OFApplication, this might be `nil`! In this

Modified src/OFLocking.h from [9a0e98f204] to [91fa38b165].

21
22
23
24
25
26
27
28

29
30
31
32
33
34
35
21
22
23
24
25
26
27

28
29
30
31
32
33
34
35







-
+







/*!
 * @protocol OFLocking OFLocking.h ObjFW/OFLocking.h
 *
 * @brief A protocol for locks.
 */
@protocol OFLocking <OFObject>
/*!
 * The name of the lock.
 * @brief The name of the lock.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *name;

/*!
 * @brief Locks the lock.
 */
- (void)lock;

Modified src/OFMapTable.h from [36496cd646] to [60fe89eb9b].

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
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







-
+




-
+




-
+







	struct of_map_table_bucket *_Nonnull *_Nullable _buckets;
	uint32_t _count, _capacity;
	uint8_t _rotate;
	unsigned long _mutations;
}

/*!
 * The key functions used by the map table.
 * @brief The key functions used by the map table.
 */
@property (readonly, nonatomic) of_map_table_functions_t keyFunctions;

/*!
 * The object functions used by the map table.
 * @brief The object functions used by the map table.
 */
@property (readonly, nonatomic) of_map_table_functions_t objectFunctions;

/*!
 * The number of objects in the map table.
 * @brief The number of objects in the map table.
 */
@property (readonly, nonatomic) size_t count;

/*!
 * @brief Creates a new OFMapTable with the specified key and object functions.
 *
 * @param keyFunctions A structure of functions for handling keys

Modified src/OFMessagePackExtension.h from [c032ad54fa] to [d2a86b16c7].

31
32
33
34
35
36
37
38

39
40
41
42
43

44
45
46
47
48
49
50
31
32
33
34
35
36
37

38
39
40
41
42

43
44
45
46
47
48
49
50







-
+




-
+







    OFCopying>
{
	int8_t _type;
	OFData *_data;
}

/*!
 * The MessagePack extension type.
 * @brief The MessagePack extension type.
 */
@property (readonly, nonatomic) int8_t type;

/*!
 * @return The data of the extension.
 * @brief The data of the extension.
 */
@property (readonly, nonatomic) OFData *data;

/*!
 * @brief Creates a new OFMessagePackRepresentation with the specified type and
 *	  data.
 *

Modified src/OFMessagePackRepresentation.h from [3923f91f5a] to [c0d621b05e].

25
26
27
28
29
30
31
32

33
34
35
36
37
25
26
27
28
29
30
31

32
33
34
35
36
37







-
+





 *	     OFMessagePackRepresentation.h ObjFW/OFMessagePackRepresentation.h
 *
 * @brief A protocol implemented by classes that support encoding to a
 *	  MessagePack representation.
 */
@protocol OFMessagePackRepresentation
/*!
 * @return The MessagePack representation of the object as OFData.
 * @brief The MessagePack representation of the object as OFData.
 */
@property (readonly, nonatomic) OFData *messagePackRepresentation;
@end

OF_ASSUME_NONNULL_END

Modified src/OFMethodSignature.h from [4e07660cca] to [91dab49699].

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
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







-
+




-
+




-
+







@interface OFMethodSignature: OFObject
{
	char *_types;
	OFMutableData *_typesPointers, *_offsets;
}

/*!
 * The number of arguments of the method.
 * @brief The number of arguments of the method.
 */
@property (readonly, nonatomic) size_t numberOfArguments;

/*!
 * The return type of the method.
 * @brief The return type of the method.
 */
@property (readonly, nonatomic) const char *methodReturnType;

/*!
 * The size of the arguments on the stack frame.
 * @brief The size of the arguments on the stack frame.
 *
 * @note This is platform-dependent!
 */
@property (readonly, nonatomic) size_t frameLength;

/*!
 * @brief Creates a new OFMethodSignature with the specified ObjC types.

Modified src/OFMutableData.h from [39f848be7d] to [68a8c877d6].

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
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







-
+









-
+








-
+







- (void)makeImmutable;
@end

@interface OFMutableData (MutableRetrieving)
/* GCC does not like overriding properties with a different type. */
#if defined(__clang__) || defined(DOXYGEN)
/*!
 * All items of the OFMutableData as a C array.
 * @brief All items of the OFMutableData as a C array.
 *
 * @warning The pointer is only valid until the OFMutableData is changed!
 *
 * Modifying the returned array directly is allowed and will change the contents
 * of the data array.
 */
@property (readonly, nonatomic) void *items OF_RETURNS_INNER_POINTER;

/*!
 * The first item of the OFMutableData or NULL.
 * @brief The first item of the OFMutableData or `NULL`.
 *
 * Modifying the returned item directly is allowed and will change the contents
 * of the data array.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) void *firstItem
    OF_RETURNS_INNER_POINTER;

/*!
 * Last item of the OFMutableData or NULL.
 * @brief Last item of the OFMutableData or `NULL`.
 *
 * Modifying the returned item directly is allowed and will change the contents
 * of the data array.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) void *lastItem
    OF_RETURNS_INNER_POINTER;
#else

Modified src/OFMutablePair.h from [8ce187fec7] to [85991a58fc].

26
27
28
29
30
31
32
33

34
35
36
37
38

39
40
41
42
43
44
45
26
27
28
29
30
31
32

33
34
35
36
37

38
39
40
41
42
43
44
45







-
+




-
+







@interface OFMutablePair OF_GENERIC(FirstType, SecondType):
    OFPair OF_GENERIC(FirstType, SecondType)
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# define FirstType id
# define SecondType id
#endif
/*!
 * The first object of the pair.
 * @brief The first object of the pair.
 */
@property (readwrite, nonatomic, retain) FirstType firstObject;

/*!
 * The second object of the pair.
 * @brief The second object of the pair.
 */
@property (readwrite, nonatomic, retain) SecondType secondObject;

/*!
 * @brief Converts the mutable pair to an immutable pair.
 */
- (void)makeImmutable;

Modified src/OFMutableTarArchiveEntry.h from [816968613e] to [ab252d99e6].

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
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







-
+




-
+




-
+




-
+




-
+




-
+




-
+






-
+





-
+




-
+




-
+




-
+











 *	  OFMutableTarArchiveEntry.h ObjFW/OFMutableTarArchiveEntry.h
 *
 * @brief A class which represents a mutable entry of a tar archive.
 */
@interface OFMutableTarArchiveEntry: OFTarArchiveEntry

/*!
 * The file name of the entry.
 * @brief The file name of the entry.
 */
@property (readwrite, copy, nonatomic) OFString *fileName;

/*!
 * The mode of the entry.
 * @brief The mode of the entry.
 */
@property (readwrite, nonatomic) uint32_t mode;

/*!
 * The UID of the owner.
 * @brief The UID of the owner.
 */
@property (readwrite, nonatomic) uint32_t UID;

/*!
 * The GID of the group.
 * @brief The GID of the group.
 */
@property (readwrite, nonatomic) uint32_t GID;

/*!
 * The size of the file.
 * @brief The size of the file.
 */
@property (readwrite, nonatomic) uint64_t size;

/*!
 * The date of the last modification of the file.
 * @brief The date of the last modification of the file.
 */
@property (readwrite, retain, nonatomic) OFDate *modificationDate;

/*!
 * The type of the archive entry.
 * @brief The type of the archive entry.
 *
 * See @ref of_tar_archive_entry_type_t.
 */
@property (readwrite, nonatomic) of_tar_archive_entry_type_t type;

/*!
 * The file name of the target (for a hard link or symbolic link).
 * @brief The file name of the target (for a hard link or symbolic link).
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *targetFileName;

/*!
 * The owner of the file.
 * @brief The owner of the file.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *owner;

/*!
 * The group of the file.
 * @brief The group of the file.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *group;

/*!
 * The device major (if the file is a device).
 * @brief The device major (if the file is a device).
 */
@property (readwrite, nonatomic) uint32_t deviceMajor;

/*!
 * The device major (if the file is a device).
 * @brief The device major (if the file is a device).
 */
@property (readwrite, nonatomic) uint32_t deviceMinor;

/*!
 * @brief Converts the OFMutableTarArchiveEntry to an immutable
 *	  OFTarArchiveEntry.
 */
- (void)makeImmutable;
@end

OF_ASSUME_NONNULL_END

Modified src/OFMutableTriple.h from [48300b2096] to [2ee66892ba].

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
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







-
+




-
+




-
+







    OFTriple OF_GENERIC(FirstType, SecondType, ThirdType)
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# define FirstType id
# define SecondType id
# define ThirdType id
#endif
/*!
 * The first object of the triple.
 * @brief The first object of the triple.
 */
@property (readwrite, nonatomic, retain) FirstType firstObject;

/*!
 * The second object of the triple.
 * @brief The second object of the triple.
 */
@property (readwrite, nonatomic, retain) SecondType secondObject;

/*!
 * The third object of the triple.
 * @brief The third object of the triple.
 */
@property (readwrite, nonatomic, retain) ThirdType thirdObject;

/*!
 * @brief Converts the mutable triple to an immutable triple.
 */
- (void)makeImmutable;

Modified src/OFMutableURL.h from [cd0e75d21f] to [be0bce94b2].

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
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







-
+




-
+








-
+




-
+








-
+




-
+




-
+








-
+




-
+








-
+




-
+








-
+







-
+




-
+








-
+




-
+







/*!
 * @class OFMutableURL OFMutableURL.h ObjFW/OFMutableURL.h
 *
 * @brief A class for parsing URLs and accessing parts of it.
 */
@interface OFMutableURL: OFURL
/*!
 * The scheme part of the URL.
 * @brief The scheme part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *scheme;

/*!
 * The scheme part of the URL in URL-encoded form.
 * @brief The scheme part of the URL in URL-encoded form.
 *
 * Setting this retains the original URL-encoding used - if more characters
 * than necessary are URL-encoded, it is kept this way.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *URLEncodedScheme;

/*!
 * The host part of the URL.
 * @brief The host part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *host;

/*!
 * The host part of the URL in URL-encoded form.
 * @brief The host part of the URL in URL-encoded form.
 *
 * Setting this retains the original URL-encoding used - if more characters
 * than necessary are URL-encoded, it is kept this way.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *URLEncodedHost;

/*!
 * The port part of the URL.
 * @brief The port part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFNumber *port;

/*!
 * The user part of the URL.
 * @brief The user part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *user;

/*!
 * The user part of the URL in URL-encoded form.
 * @brief The user part of the URL in URL-encoded form.
 *
 * Setting this retains the original URL-encoding used - if more characters
 * than necessary are URL-encoded, it is kept this way.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *URLEncodedUser;

/*!
 * The password part of the URL.
 * @brief The password part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *password;

/*!
 * The password part of the URL in URL-encoded form.
 * @brief The password part of the URL in URL-encoded form.
 *
 * Setting this retains the original URL-encoding used - if more characters
 * than necessary are URL-encoded, it is kept this way.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *URLEncodedPassword;

/*!
 * The path part of the URL.
 * @brief The path part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *path;

/*!
 * The path part of the URL in URL-encoded form.
 * @brief The path part of the URL in URL-encoded form.
 *
 * Setting this retains the original URL-encoding used - if more characters
 * than necessary are URL-encoded, it is kept this way.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *URLEncodedPath;

/*!
 * The path of the URL split into components.
 * @brief The path of the URL split into components.
 *
 * The first component must always be empty to designate the root.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFArray OF_GENERIC(OFString *) *pathComponents;

/*!
 * The query part of the URL.
 * @brief The query part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *query;

/*!
 * The query part of the URL in URL-encoded form.
 * @brief The query part of the URL in URL-encoded form.
 *
 * Setting this retains the original URL-encoding used - if more characters
 * than necessary are URL-encoded, it is kept this way.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *URLEncodedQuery;

/*!
 * The fragment part of the URL.
 * @brief The fragment part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFString *fragment;

/*!
 * The fragment part of the URL in URL-encoded form.
 * @brief The fragment part of the URL in URL-encoded form.
 *
 * Setting this retains the original URL-encoding used - if more characters
 * than necessary are URL-encoded, it is kept this way.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *URLEncodedFragment;

Modified src/OFMutableZIPArchiveEntry.h from [d647c5d768] to [dcd47df541].

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
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







-
+




-
+





-
+






-
+








-
+








-
+






-
+













-
+




-
+




-
+




-
+







-
+













 *
 * @brief A class which represents a mutable entry in the central directory of
 *	  a ZIP archive.
 */
@interface OFMutableZIPArchiveEntry: OFZIPArchiveEntry

/*!
 * The file name of the entry.
 * @brief The file name of the entry.
 */
@property (readwrite, copy, nonatomic) OFString *fileName;

/*!
 * The comment of the entry's file.
 * @brief The comment of the entry's file.
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic)
    OFString *fileComment;

/*!
 * The extra field of the entry.
 * @brief The extra field of the entry.
 *
 * The item size *must* be 1!
 */
@property OF_NULLABLE_PROPERTY (readwrite, copy, nonatomic) OFData *extraField;

/*!
 * The version which made the entry.
 * @brief The version which made the entry.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readwrite, nonatomic) uint16_t versionMadeBy;

/*!
 * The minimum version required to extract the file.
 * @brief The minimum version required to extract the file.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readwrite, nonatomic) uint16_t minVersionNeeded;

/*!
 * The last modification date of the entry's file.
 * @brief The last modification date of the entry's file.
 *
 * @note Due to limitations of the ZIP format, this has only 2 second precision.
 */
@property (readwrite, retain, nonatomic) OFDate *modificationDate;

/*!
 * The compression method of the entry.
 * @brief The compression method of the entry.
 *
 * Supported values are:
 * Value                                             | Description
 * --------------------------------------------------|---------------
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_NONE      | No compression
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE   | Deflate
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE64 | Deflate64
 *
 * Other values may be returned, but the file cannot be extracted then.
 */
@property (readwrite, nonatomic) uint16_t compressionMethod;

/*!
 * The compressed size of the entry's file.
 * @brief The compressed size of the entry's file.
 */
@property (readwrite, nonatomic) uint64_t compressedSize;

/*!
 * The uncompressed size of the entry's file.
 * @brief The uncompressed size of the entry's file.
 */
@property (readwrite, nonatomic) uint64_t uncompressedSize;

/*!
 * The CRC32 checksum of the entry's file.
 * @brief The CRC32 checksum of the entry's file.
 */
@property (readwrite, nonatomic) uint32_t CRC32;

/*!
 * The version specific attributes.
 * @brief The version specific attributes.
 *
 * The meaning of the version specific attributes depends on the attribute
 * compatibility part of the version that made the entry.
 */
@property (readwrite, nonatomic) uint32_t versionSpecificAttributes;

/*!
 * The general purpose bit flag of the entry.
 * @brief The general purpose bit flag of the entry.
 *
 * See the ZIP specification for details.
 */
@property (readwrite, nonatomic) uint16_t generalPurposeBitFlag;

/*!
 * @brief Converts the OFMutableZIPArchiveEntry to an immutable
 *	  OFZIPArchiveEntry.
 */
- (void)makeImmutable;
@end

OF_ASSUME_NONNULL_END

Modified src/OFNumber.h from [0a882a919b] to [9e0deda8a9].

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
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







-
+

-
+

-
+

-
+

-
+

-
+

-
+

-
+

-
+

-
+

-
+

-
+

-
+


-
+


-
+


-
+


-
+


-
+


-
+


-
+


-
+


-
+


-
+


-
+


-
+

-
+

-
+

-
+








/*! @file */

/*!
 * @brief The C type of a number stored in an OFNumber.
 */
typedef enum {
	/*! bool */
	/*! `bool` */
	OF_NUMBER_TYPE_BOOL		= 0x01,
	/*! unsigned char */
	/*! `unsigned char` */
	OF_NUMBER_TYPE_UCHAR		= 0x02,
	/*! unsigned short */
	/*! `unsigned short` */
	OF_NUMBER_TYPE_USHORT		= 0x03,
	/*! unsigned int */
	/*! `unsigned int` */
	OF_NUMBER_TYPE_UINT		= 0x04,
	/*! unsigned long */
	/*! `unsigned long` */
	OF_NUMBER_TYPE_ULONG		= 0x05,
	/*! unsigned long long */
	/*! `unsigned long long` */
	OF_NUMBER_TYPE_ULONGLONG	= 0x06,
	/*! size_t */
	/*! `size_t` */
	OF_NUMBER_TYPE_SIZE		= 0x07,
	/*! uint8_t */
	/*! `uint8_t` */
	OF_NUMBER_TYPE_UINT8		= 0x08,
	/*! uint16_t */
	/*! `uint16_t` */
	OF_NUMBER_TYPE_UINT16		= 0x09,
	/*! uint32_t */
	/*! `uint32_t` */
	OF_NUMBER_TYPE_UINT32		= 0x0A,
	/*! uint64_t */
	/*! `uint64_t` */
	OF_NUMBER_TYPE_UINT64		= 0x0B,
	/*! uintptr_t */
	/*! `uintptr_t` */
	OF_NUMBER_TYPE_UINTPTR		= 0x0C,
	/*! uintmax_t */
	/*! `uintmax_t` */
	OF_NUMBER_TYPE_UINTMAX		= 0x0D,
	OF_NUMBER_TYPE_SIGNED		= 0x10,
	/*! signed char */
	/*! `signed char` */
	OF_NUMBER_TYPE_CHAR		= OF_NUMBER_TYPE_UCHAR |
					      OF_NUMBER_TYPE_SIGNED,
	/*! signed short */
	/*! `signed short` */
	OF_NUMBER_TYPE_SHORT		= OF_NUMBER_TYPE_USHORT |
					      OF_NUMBER_TYPE_SIGNED,
	/*! signed int */
	/*! `signed int` */
	OF_NUMBER_TYPE_INT		= OF_NUMBER_TYPE_UINT |
					      OF_NUMBER_TYPE_SIGNED,
	/*! signed long */
	/*! `signed long` */
	OF_NUMBER_TYPE_LONG		= OF_NUMBER_TYPE_ULONG |
					      OF_NUMBER_TYPE_SIGNED,
	/*! signed long long */
	/*! `signed long long` */
	OF_NUMBER_TYPE_LONGLONG		= OF_NUMBER_TYPE_ULONGLONG |
					      OF_NUMBER_TYPE_SIGNED,
	/*! int8_t */
	/*! `int8_t` */
	OF_NUMBER_TYPE_INT8		= OF_NUMBER_TYPE_UINT8 |
					      OF_NUMBER_TYPE_SIGNED,
	/*! int16_t */
	/*! `int16_t` */
	OF_NUMBER_TYPE_INT16		= OF_NUMBER_TYPE_UINT16 |
					      OF_NUMBER_TYPE_SIGNED,
	/*! int32_t */
	/*! `int32_t` */
	OF_NUMBER_TYPE_INT32		= OF_NUMBER_TYPE_UINT32 |
					      OF_NUMBER_TYPE_SIGNED,
	/*! int64_t */
	/*! `int64_t` */
	OF_NUMBER_TYPE_INT64		= OF_NUMBER_TYPE_UINT64 |
					      OF_NUMBER_TYPE_SIGNED,
	/*! ssize_t */
	/*! `ssize_t` */
	OF_NUMBER_TYPE_SSIZE		= OF_NUMBER_TYPE_SIZE |
					      OF_NUMBER_TYPE_SIGNED,
	/*! intmax_t */
	/*! `intmax_t` */
	OF_NUMBER_TYPE_INTMAX		= OF_NUMBER_TYPE_UINTMAX |
					      OF_NUMBER_TYPE_SIGNED,
	/*! ptrdiff_t */
	/*! `ptrdiff_t` */
	OF_NUMBER_TYPE_PTRDIFF		= 0x0E | OF_NUMBER_TYPE_SIGNED,
	/*! intptr_t */
	/*! `intptr_t` */
	OF_NUMBER_TYPE_INTPTR		= 0x0F | OF_NUMBER_TYPE_SIGNED,
	/*! float */
	/*! `float` */
	OF_NUMBER_TYPE_FLOAT		= 0x20,
	/*! double */
	/*! `double` */
	OF_NUMBER_TYPE_DOUBLE		= 0x40 | OF_NUMBER_TYPE_FLOAT
} of_number_type_t;

/*!
 * @class OFNumber OFNumber.h ObjFW/OFNumber.h
 *
 * @brief Provides a way to store a number in an object.
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
245

246
247
248
249
250

251
252
253
254
255

256
257
258
259
260

261
262
263
264
265

266
267
268
269
270

271
272
273
274
275

276
277
278
279
280

281
282
283
284
285

286
287
288
289
290

291
292
293
294
295

296
297
298
299
300

301
302

303
304
305
306
307
308

309
310

311
312
313
314
315
316

317
318

319
320
321
322
323
324

325
326

327
328
329
330
331
332

333
334

335
336
337
338
339
340

341
342

343
344
345
346
347
348

349
350

351
352
353
354
355
356

357
358

359
360
361
362
363
364

365
366

367
368
369
370
371
372

373
374

375
376
377
378
379
380

381
382

383
384
385
386
387
388

389
390

391
392
393
394
395
396

397
398

399
400
401
402
403
404

405
406

407
408
409
410
411
412

413
414

415
416
417
418
419
420

421
422

423
424
425
426
427
428

429
430

431
432
433
434
435
436

437
438

439
440
441
442
443
444

445
446

447
448
449
450
451
452

453
454

455
456
457
458
459
460

461
462

463
464
465
466
467
468

469
470

471
472
473
474
475
476

477
478

479
480
481
482
483
484

485
486

487
488
489
490
491
492

493
494

495
496
497
498
499
500

501
502

503
504
505
506
507
508

509
510

511
512
513
514
515
516

517
518

519
520
521
522
523
524
525
526

527
528

529
530
531
532
533
534
535


536
537

538
539
540
541
542
543
544


545
546

547
548
549
550
551
552
553


554
555

556
557
558
559
560
561
562


563
564

565
566
567
568
569
570
571


572
573

574
575
576
577
578
579
580


581
582

583
584
585
586
587
588
589


590
591

592
593
594
595
596
597
598


599
600

601
602
603
604
605
606
607


608
609

610
611
612
613
614
615
616


617
618

619
620
621
622
623
624

625
626

627
628
629
630
631
632


633
634

635
636
637
638
639
640


641
642

643
644
645
646
647
648


649
650

651
652
653
654
655
656


657
658

659
660
661
662
663
664


665
666

667
668
669
670
671
672


673
674

675
676
677
678
679
680


681
682

683
684
685
686
687
688

689
690

691
692
693
694
695
696


697
698

699
700
701
702
703
704


705
706

707
708
709
710
711
712
713

714
715

716
717
718
719
720
721
722

723
724

725
726
727
728
729
730


731
732

733
734
735
736
737
738
739

740
741

742
743
744
745
746
747

748
749

750
751
752
753
754
755

756
757

758
759
760
761
762
763
764
765
766
767
768
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

245
246
247
248
249

250
251
252
253
254

255
256
257
258
259

260
261
262
263
264

265
266
267
268
269

270
271
272
273
274

275
276
277
278
279

280
281
282
283
284

285
286
287
288
289

290
291
292
293
294

295
296
297
298
299

300
301

302
303
304
305
306
307

308
309

310
311
312
313
314
315

316
317

318
319
320
321
322
323

324
325

326
327
328
329
330
331

332
333

334
335
336
337
338
339

340
341

342
343
344
345
346
347

348
349

350
351
352
353
354
355

356
357

358
359
360
361
362
363

364
365

366
367
368
369
370
371

372
373

374
375
376
377
378
379

380
381

382
383
384
385
386
387

388
389

390
391
392
393
394
395

396
397

398
399
400
401
402
403

404
405

406
407
408
409
410
411

412
413

414
415
416
417
418
419

420
421

422
423
424
425
426
427

428
429

430
431
432
433
434
435

436
437

438
439
440
441
442
443

444
445

446
447
448
449
450
451

452
453

454
455
456
457
458
459

460
461

462
463
464
465
466
467

468
469

470
471
472
473
474
475

476
477

478
479
480
481
482
483

484
485

486
487
488
489
490
491

492
493

494
495
496
497
498
499

500
501

502
503
504
505
506
507

508
509

510
511
512
513
514
515

516
517

518
519
520
521
522
523
524
525

526
527

528
529
530
531
532
533


534
535
536

537
538
539
540
541
542


543
544
545

546
547
548
549
550
551


552
553
554

555
556
557
558
559
560


561
562
563

564
565
566
567
568
569


570
571
572

573
574
575
576
577
578


579
580
581

582
583
584
585
586
587


588
589
590

591
592
593
594
595
596


597
598
599

600
601
602
603
604
605


606
607
608

609
610
611
612
613
614


615
616
617

618
619
620
621
622
623

624
625

626
627
628
629
630
631

632
633
634

635
636
637
638
639
640

641
642
643

644
645
646
647
648
649

650
651
652

653
654
655
656
657
658

659
660
661

662
663
664
665
666
667

668
669
670

671
672
673
674
675
676

677
678
679

680
681
682
683
684
685

686
687
688

689
690
691
692
693
694

695
696

697
698
699
700
701
702

703
704
705

706
707
708
709
710
711

712
713
714

715
716
717
718
719
720
721

722
723

724
725
726
727
728
729
730

731
732

733
734
735
736
737
738

739
740
741

742
743
744
745
746
747
748

749
750

751
752
753
754
755
756

757
758

759
760
761
762
763
764

765
766

767
768
769
770
771
772
773
774
775
776
777
778







-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+




-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+





-
+

-
+







-
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
-
+
+

-
+





-
+

-
+





-
+
+

-
+





-
+
+

-
+





-
+
+

-
+





-
+
+

-
+





-
+
+

-
+





-
+
+

-
+





-
+
+

-
+





-
+

-
+





-
+
+

-
+





-
+
+

-
+






-
+

-
+






-
+

-
+





-
+
+

-
+






-
+

-
+





-
+

-
+





-
+

-
+











		float		   float_;
		double		   double_;
	} _value;
	of_number_type_t _type;
}

/*!
 * The type of the number.
 * @brief The type of the number.
 */
@property (readonly, nonatomic) of_number_type_t type;

/*!
 * Returns the OFNumber as a bool.
 * @brief The OFNumber as a `bool`.
 */
@property (readonly, nonatomic) bool boolValue;

/*!
 * The OFNumber as a signed char.
 * @brief The OFNumber as a `signed char`.
 */
@property (readonly, nonatomic) signed char charValue;

/*!
 * The OFNumber as a signed short.
 * @brief The OFNumber as a `signed short`.
 */
@property (readonly, nonatomic) signed short shortValue;

/*!
 * The OFNumber as a signed int.
 * @brief The OFNumber as a `signed int`.
 */
@property (readonly, nonatomic) signed int intValue;

/*!
 * The OFNumber as a signed long.
 * @brief The OFNumber as a `signed long`.
 */
@property (readonly, nonatomic) signed long longValue;

/*!
 * The OFNumber as a signed long long.
 * @brief The OFNumber as a `signed long long`.
 */
@property (readonly, nonatomic) signed long long longLongValue;

/*!
 * The OFNumber as an unsigned char.
 * @brief The OFNumber as an `unsigned char`.
 */
@property (readonly, nonatomic) unsigned char unsignedCharValue;

/*!
 * The OFNumber as an unsigned short.
 * @brief The OFNumber as an `unsigned short`.
 */
@property (readonly, nonatomic) unsigned short unsignedShortValue;

/*!
 * The OFNumber as an unsigned int.
 * @brief The OFNumber as an `unsigned int`.
 */
@property (readonly, nonatomic) unsigned int unsignedIntValue;

/*!
 * The OFNumber as an unsigned long.
 * @brief The OFNumber as an `unsigned long`.
 */
@property (readonly, nonatomic) unsigned long unsignedLongValue;

/*!
 * The OFNumber as an unsigned long long.
 * @brief The OFNumber as an `unsigned long long`.
 */
@property (readonly, nonatomic) unsigned long long unsignedLongLongValue;

/*!
 * The OFNumber as an int8_t.
 * @brief The OFNumber as an `int8_t`.
 */
@property (readonly, nonatomic) int8_t int8Value;

/*!
 * The OFNumber as an int16_t.
 * @brief The OFNumber as an `int16_t`.
 */
@property (readonly, nonatomic) int16_t int16Value;

/*!
 * The OFNumber as an int32_t.
 * @brief The OFNumber as an `int32_t`.
 */
@property (readonly, nonatomic) int32_t int32Value;

/*!
 * The OFNumber as an int64_t.
 * @brief The OFNumber as an `int64_t`.
 */
@property (readonly, nonatomic) int64_t int64Value;

/*!
 * The OFNumber as a uint8_t.
 * @brief The OFNumber as a `uint8_t`.
 */
@property (readonly, nonatomic) uint8_t uInt8Value;

/*!
 * The OFNumber as a uint16_t.
 * @brief The OFNumber as a `uint16_t`.
 */
@property (readonly, nonatomic) uint16_t uInt16Value;

/*!
 * The OFNumber as a uint32_t.
 * @brief The OFNumber as a `uint32_t`.
 */
@property (readonly, nonatomic) uint32_t uInt32Value;

/*!
 * The OFNumber as a uint64_t.
 * @brief The OFNumber as a `uint64_t`.
 */
@property (readonly, nonatomic) uint64_t uInt64Value;

/*!
 * The OFNumber as a size_t.
 * @brief The OFNumber as a `size_t`.
 */
@property (readonly, nonatomic) size_t sizeValue;

/*!
 * The OFNumber as an ssize_t.
 * @brief The OFNumber as an `ssize_t`.
 */
@property (readonly, nonatomic) ssize_t sSizeValue;

/*!
 * The OFNumber as an intmax_t.
 * @brief The OFNumber as an `intmax_t`.
 */
@property (readonly, nonatomic) intmax_t intMaxValue;

/*!
 * The OFNumber as a uintmax_t.
 * @brief The OFNumber as a `uintmax_t`.
 */
@property (readonly, nonatomic) uintmax_t uIntMaxValue;

/*!
 * The OFNumber as a ptrdiff_t.
 * @brief The OFNumber as a `ptrdiff_t`.
 */
@property (readonly, nonatomic) ptrdiff_t ptrDiffValue;

/*!
 * The OFNumber as an intptr_t.
 * @brief The OFNumber as an `intptr_t`.
 */
@property (readonly, nonatomic) intptr_t intPtrValue;

/*!
 * The OFNumber as a uintptr_t.
 * @brief The OFNumber as a `uintptr_t`.
 */
@property (readonly, nonatomic) uintptr_t uIntPtrValue;

/*!
 * The OFNumber as a float.
 * @brief The OFNumber as a `float`.
 */
@property (readonly, nonatomic) float floatValue;

/*!
 * The OFNumber as a double.
 * @brief The OFNumber as a `double`.
 */
@property (readonly, nonatomic) double doubleValue;

/*!
 * @brief Creates a new OFNumber with the specified bool.
 * @brief Creates a new OFNumber with the specified `bool`.
 *
 * @param bool_ A bool which the OFNumber should contain
 * @param bool_ A `bool` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithBool: (bool)bool_;

/*!
 * @brief Creates a new OFNumber with the specified signed char.
 * @brief Creates a new OFNumber with the specified `signed char`.
 *
 * @param sChar A signed char which the OFNumber should contain
 * @param sChar A `signed char` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithChar: (signed char)sChar;

/*!
 * @brief Creates a new OFNumber with the specified signed short.
 * @brief Creates a new OFNumber with the specified `signed short`.
 *
 * @param sShort A signed short which the OFNumber should contain
 * @param sShort A `signed short` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithShort: (signed short)sShort;

/*!
 * @brief Creates a new OFNumber with the specified signed int.
 * @brief Creates a new OFNumber with the specified `signed int`.
 *
 * @param sInt A signed int which the OFNumber should contain
 * @param sInt A `signed int` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithInt: (signed int)sInt;

/*!
 * @brief Creates a new OFNumber with the specified signed long.
 * @brief Creates a new OFNumber with the specified `signed long`.
 *
 * @param sLong A signed long which the OFNumber should contain
 * @param sLong A `signed long` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithLong: (signed long)sLong;

/*!
 * @brief Creates a new OFNumber with the specified signed long long.
 * @brief Creates a new OFNumber with the specified `signed long long`.
 *
 * @param sLongLong A signed long long which the OFNumber should contain
 * @param sLongLong A `signed long long` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithLongLong: (signed long long)sLongLong;

/*!
 * @brief Creates a new OFNumber with the specified unsigned char.
 * @brief Creates a new OFNumber with the specified `unsigned char`.
 *
 * @param uChar An unsigned char which the OFNumber should contain
 * @param uChar An `unsigned char` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUnsignedChar: (unsigned char)uChar;

/*!
 * @brief Creates a new OFNumber with the specified unsigned short.
 * @brief Creates a new OFNumber with the specified `unsigned short`.
 *
 * @param uShort An unsigned short which the OFNumber should contain
 * @param uShort An `unsigned short` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUnsignedShort: (unsigned short)uShort;

/*!
 * @brief Creates a new OFNumber with the specified unsigned int.
 * @brief Creates a new OFNumber with the specified `unsigned int`.
 *
 * @param uInt An unsigned int which the OFNumber should contain
 * @param uInt An `unsigned int` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUnsignedInt: (unsigned int)uInt;

/*!
 * @brief Creates a new OFNumber with the specified unsigned long.
 * @brief Creates a new OFNumber with the specified `unsigned long`.
 *
 * @param uLong An unsigned long which the OFNumber should contain
 * @param uLong An `unsigned long` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUnsignedLong: (unsigned long)uLong;

/*!
 * @brief Creates a new OFNumber with the specified unsigned long long.
 * @brief Creates a new OFNumber with the specified `unsigned long long`.
 *
 * @param uLongLong An unsigned long long which the OFNumber should contain
 * @param uLongLong An `unsigned long long` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUnsignedLongLong: (unsigned long long)uLongLong;

/*!
 * @brief Creates a new OFNumber with the specified int8_t.
 * @brief Creates a new OFNumber with the specified `int8_t`.
 *
 * @param int8 An int8_t which the OFNumber should contain
 * @param int8 An `int8_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithInt8: (int8_t)int8;

/*!
 * @brief Creates a new OFNumber with the specified int16_t.
 * @brief Creates a new OFNumber with the specified `int16_t`.
 *
 * @param int16 An int16_t which the OFNumber should contain
 * @param int16 An `int16_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithInt16: (int16_t)int16;

/*!
 * @brief Creates a new OFNumber with the specified int32_t.
 * @brief Creates a new OFNumber with the specified `int32_t`.
 *
 * @param int32 An int32_t which the OFNumber should contain
 * @param int32 An `int32_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithInt32: (int32_t)int32;

/*!
 * @brief Creates a new OFNumber with the specified int64_t.
 * @brief Creates a new OFNumber with the specified `int64_t`.
 *
 * @param int64 An int64_t which the OFNumber should contain
 * @param int64 An `int64_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithInt64: (int64_t)int64;

/*!
 * @brief Creates a new OFNumber with the specified uint8_t.
 * @brief Creates a new OFNumber with the specified `uint8_t`.
 *
 * @param uInt8 A uint8_t which the OFNumber should contain
 * @param uInt8 A `uint8_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUInt8: (uint8_t)uInt8;

/*!
 * @brief Creates a new OFNumber with the specified uint16_t.
 * @brief Creates a new OFNumber with the specified `uint16_t`.
 *
 * @param uInt16 A uint16_t which the OFNumber should contain
 * @param uInt16 A `uint16_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUInt16: (uint16_t)uInt16;

/*!
 * @brief Creates a new OFNumber with the specified uint32_t.
 * @brief Creates a new OFNumber with the specified `uint32_t`.
 *
 * @param uInt32 A uint32_t which the OFNumber should contain
 * @param uInt32 A `uint32_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUInt32: (uint32_t)uInt32;

/*!
 * @brief Creates a new OFNumber with the specified uint64_t.
 * @brief Creates a new OFNumber with the specified `uint64_t`.
 *
 * @param uInt64 A uint64_t which the OFNumber should contain
 * @param uInt64 A `uint64_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUInt64: (uint64_t)uInt64;

/*!
 * @brief Creates a new OFNumber with the specified size_t.
 * @brief Creates a new OFNumber with the specified `size_t`.
 *
 * @param size A size_t which the OFNumber should contain
 * @param size A `size_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithSize: (size_t)size;

/*!
 * @brief Creates a new OFNumber with the specified ssize_t.
 * @brief Creates a new OFNumber with the specified `ssize_t`.
 *
 * @param sSize An ssize_t which the OFNumber should contain
 * @param sSize An `ssize_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithSSize: (ssize_t)sSize;

/*!
 * @brief Creates a new OFNumber with the specified intmax_t.
 * @brief Creates a new OFNumber with the specified `intmax_t`.
 *
 * @param intMax An intmax_t which the OFNumber should contain
 * @param intMax An `intmax_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithIntMax: (intmax_t)intMax;

/*!
 * @brief Creates a new OFNumber with the specified uintmax_t.
 * @brief Creates a new OFNumber with the specified `uintmax_t`.
 *
 * @param uIntMax A uintmax_t which the OFNumber should contain
 * @param uIntMax A `uintmax_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUIntMax: (uintmax_t)uIntMax;

/*!
 * @brief Creates a new OFNumber with the specified ptrdiff_t.
 * @brief Creates a new OFNumber with the specified `ptrdiff_t`.
 *
 * @param ptrDiff A ptrdiff_t which the OFNumber should contain
 * @param ptrDiff A `ptrdiff_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithPtrDiff: (ptrdiff_t)ptrDiff;

/*!
 * @brief Creates a new OFNumber with the specified intptr_t.
 * @brief Creates a new OFNumber with the specified `intptr_t`.
 *
 * @param intPtr An intptr_t which the OFNumber should contain
 * @param intPtr An `intptr_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithIntPtr: (intptr_t)intPtr;

/*!
 * @brief Creates a new OFNumber with the specified uintptr_t.
 * @brief Creates a new OFNumber with the specified `uintptr_t`.
 *
 * @param uIntPtr A uintptr_t which the OFNumber should contain
 * @param uIntPtr A `uintptr_t` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithUIntPtr: (uintptr_t)uIntPtr;

/*!
 * @brief Creates a new OFNumber with the specified float.
 * @brief Creates a new OFNumber with the specified `float`.
 *
 * @param float_ A float which the OFNumber should contain
 * @param float_ A `float` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithFloat: (float)float_;

/*!
 * @brief Creates a new OFNumber with the specified double.
 * @brief Creates a new OFNumber with the specified `double`.
 *
 * @param double_ A double which the OFNumber should contain
 * @param double_ A `double` which the OFNumber should contain
 * @return A new autoreleased OFNumber
 */
+ (instancetype)numberWithDouble: (double)double_;

- (instancetype)init OF_UNAVAILABLE;

/*!
 * @brief Initializes an already allocated OFNumber with the specified bool.
 * @brief Initializes an already allocated OFNumber with the specified `bool`.
 *
 * @param bool_ A bool which the OFNumber should contain
 * @param bool_ A `bool` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithBool: (bool)bool_;

/*!
 * @brief Initializes an already allocated OFNumber with the specified signed
 *	  char.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `signed char`.
 *
 * @param sChar A signed char which the OFNumber should contain
 * @param sChar A `signed char` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithChar: (signed char)sChar;

/*!
 * @brief Initializes an already allocated OFNumber with the specified signed
 *	  short.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `signed short`.
 *
 * @param sShort A signed short which the OFNumber should contain
 * @param sShort A `signed short` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithShort: (signed short)sShort;

/*!
 * @brief Initializes an already allocated OFNumber with the specified signed
 *	  int.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `signed int`.
 *
 * @param sInt A signed int which the OFNumber should contain
 * @param sInt A `signed int` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithInt: (signed int)sInt;

/*!
 * @brief Initializes an already allocated OFNumber with the specified signed
 *	  long.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `signed long`.
 *
 * @param sLong A signed long which the OFNumber should contain
 * @param sLong A `signed long` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithLong: (signed long)sLong;

/*!
 * @brief Initializes an already allocated OFNumber with the specified signed
 *	  long long.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `signed long long`.
 *
 * @param sLongLong A signed long long which the OFNumber should contain
 * @param sLongLong A `signed long long` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithLongLong: (signed long long)sLongLong;

/*!
 * @brief Initializes an already allocated OFNumber with the specified unsigned
 *	  char.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `unsigned char`.
 *
 * @param uChar An unsigned char which the OFNumber should contain
 * @param uChar An `unsigned char` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUnsignedChar: (unsigned char)uChar;

/*!
 * @brief Initializes an already allocated OFNumber with the specified unsigned
 *	  short.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `unsigned short`.
 *
 * @param uShort An unsigned short which the OFNumber should contain
 * @param uShort An `unsigned short` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUnsignedShort: (unsigned short)uShort;

/*!
 * @brief Initializes an already allocated OFNumber with the specified unsigned
 *	  int.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `unsigned int`.
 *
 * @param uInt An unsigned int which the OFNumber should contain
 * @param uInt An `unsigned int` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUnsignedInt: (unsigned int)uInt;

/*!
 * @brief Initializes an already allocated OFNumber with the specified unsigned
 *	  long.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `unsigned long`.
 *
 * @param uLong An unsigned long which the OFNumber should contain
 * @param uLong An `unsigned long` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUnsignedLong: (unsigned long)uLong;

/*!
 * @brief Initializes an already allocated OFNumber with the specified unsigned
 *	  long long.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `unsigned long long`.
 *
 * @param uLongLong An unsigned long long which the OFNumber should contain
 * @param uLongLong An `unsigned long long` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUnsignedLongLong: (unsigned long long)uLongLong;

/*!
 * @brief Initializes an already allocated OFNumber with the specified int8_t.
 * @brief Initializes an already allocated OFNumber with the specified `int8_t`.
 *
 * @param int8 An int8_t which the OFNumber should contain
 * @param int8 An `int8_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithInt8: (int8_t)int8;

/*!
 * @brief Initializes an already allocated OFNumber with the specified int16_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `int16_t`.
 *
 * @param int16 An int16_t which the OFNumber should contain
 * @param int16 An `int16_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithInt16: (int16_t)int16;

/*!
 * @brief Initializes an already allocated OFNumber with the specified int32_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `int32_t`.
 *
 * @param int32 An int32_t which the OFNumber should contain
 * @param int32 An `int32_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithInt32: (int32_t)int32;

/*!
 * @brief Initializes an already allocated OFNumber with the specified int64_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `int64_t`.
 *
 * @param int64 An int64_t which the OFNumber should contain
 * @param int64 An `int64_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithInt64: (int64_t)int64;

/*!
 * @brief Initializes an already allocated OFNumber with the specified uint8_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `uint8_t`.
 *
 * @param uInt8 A uint8_t which the OFNumber should contain
 * @param uInt8 A `uint8_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUInt8: (uint8_t)uInt8;

/*!
 * @brief Initializes an already allocated OFNumber with the specified uint16_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `uint16_t`.
 *
 * @param uInt16 A uint16_t which the OFNumber should contain
 * @param uInt16 A `uint16_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUInt16: (uint16_t)uInt16;

/*!
 * @brief Initializes an already allocated OFNumber with the specified uint32_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `uint32_t`.
 *
 * @param uInt32 A uint32_t which the OFNumber should contain
 * @param uInt32 A `uint32_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUInt32: (uint32_t)uInt32;

/*!
 * @brief Initializes an already allocated OFNumber with the specified uint64_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `uint64_t`.
 *
 * @param uInt64 A uint64_t which the OFNumber should contain
 * @param uInt64 A `uint64_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUInt64: (uint64_t)uInt64;

/*!
 * @brief Initializes an already allocated OFNumber with the specified size_t.
 * @brief Initializes an already allocated OFNumber with the specified `size_t`.
 *
 * @param size A size_t which the OFNumber should contain
 * @param size A `size_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithSize: (size_t)size;

/*!
 * @brief Initializes an already allocated OFNumber with the specified ssize_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `ssize_t`.
 *
 * @param sSize An ssize_t which the OFNumber should contain
 * @param sSize An `ssize_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithSSize: (ssize_t)sSize;

/*!
 * @brief Initializes an already allocated OFNumber with the specified intmax_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `intmax_t`.
 *
 * @param intMax An intmax_t which the OFNumber should contain
 * @param intMax An `intmax_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithIntMax: (intmax_t)intMax;

/*!
 * @brief Initializes an already allocated OFNumber with the specified
 *	  uintmax_t.
 *	  `uintmax_t`.
 *
 * @param uIntMax A uintmax_t which the OFNumber should contain
 * @param uIntMax A `uintmax_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUIntMax: (uintmax_t)uIntMax;

/*!
 * @brief Initializes an already allocated OFNumber with the specified
 *	  ptrdiff_t.
 *	  `ptrdiff_t`.
 *
 * @param ptrDiff A ptrdiff_t which the OFNumber should contain
 * @param ptrDiff A `ptrdiff_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithPtrDiff: (ptrdiff_t)ptrDiff;

/*!
 * @brief Initializes an already allocated OFNumber with the specified intptr_t.
 * @brief Initializes an already allocated OFNumber with the specified
 *	  `intptr_t`.
 *
 * @param intPtr An intptr_t which the OFNumber should contain
 * @param intPtr An `intptr_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithIntPtr: (intptr_t)intPtr;

/*!
 * @brief Initializes an already allocated OFNumber with the specified
 *	  uintptr_t.
 *	  `uintptr_t`.
 *
 * @param uIntPtr A uintptr_t which the OFNumber should contain
 * @param uIntPtr A `uintptr_t` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithUIntPtr: (uintptr_t)uIntPtr;

/*!
 * @brief Initializes an already allocated OFNumber with the specified float.
 * @brief Initializes an already allocated OFNumber with the specified `float`.
 *
 * @param float_ A float which the OFNumber should contain
 * @param float_ A `float` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithFloat: (float)float_;

/*!
 * @brief Initializes an already allocated OFNumber with the specified double.
 * @brief Initializes an already allocated OFNumber with the specified `double`.
 *
 * @param double_ A double which the OFNumber should contain
 * @param double_ A `double` which the OFNumber should contain
 * @return An initialized OFNumber
 */
- (instancetype)initWithDouble: (double)double_;
@end

OF_ASSUME_NONNULL_END

#if !defined(NSINTEGER_DEFINED) && !__has_feature(modules)
/* Required for number literals to work */
@compatibility_alias NSNumber OFNumber;
#endif

Modified src/OFObject+Serialization.h from [f8a88520ac] to [33f1580739].

26
27
28
29
30
31
32
33

34
35
36
37
38
26
27
28
29
30
31
32

33
34
35
36
37
38







-
+





extern int _OFObject_Serialization_reference;
#ifdef __cplusplus
}
#endif

@interface OFObject (OFSerialization)
/*!
 * The object serialized as a string.
 * @brief The object serialized as a string.
 */
@property (readonly, nonatomic) OFString *stringBySerializing;
@end

OF_ASSUME_NONNULL_END

Modified src/OFObject.h from [288587471e] to [4bd56fc717].

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
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







-
+




-
+




-
+











-
+




-
+




-
+







/*!
 * @protocol OFObject OFObject.h ObjFW/OFObject.h
 *
 * @brief The protocol which all root classes implement.
 */
@protocol OFObject
/*!
 * The class of the object.
 * @brief The class of the object.
 */
@property (readonly, nonatomic) Class class;

/*!
 * The superclass of the object.
 * @brief The superclass of the object.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) Class superclass;

/*!
 * A 32 bit hash for the object.
 * @brief A 32 bit hash for the object.
 *
 * Classes containing data (like strings, arrays, lists etc.) should reimplement
 * this!
 *
 * @warning If you reimplement this, you also need to reimplement @ref isEqual:
 *	    to behave in a way compatible to your reimplementation of this
 *	    method!
 */
@property (readonly, nonatomic) uint32_t hash;

/*!
 * The retain count.
 * @brief The retain count.
 */
@property (readonly, nonatomic) unsigned int retainCount;

/*!
 * Whether the object is a proxy object.
 * @brief Whether the object is a proxy object.
 */
@property (readonly, nonatomic) bool isProxy;

/*!
 * Whether the object allows weak references.
 * @brief Whether the object allows weak references.
 */
@property (readonly, nonatomic) bool allowsWeakReference;

/*!
 * @brief Returns a boolean whether the object of the specified kind.
 *
 * @param class_ The class whose kind is checked
420
421
422
423
424
425
426
427

428
429
430
431
432

433
434
435
436
437
438
439
420
421
422
423
424
425
426

427
428
429
430
431

432
433
434
435
436
437
438
439







-
+




-
+







@property (class, readonly, nonatomic) Class class;
@property (class, readonly, nonatomic) OFString *className;
@property (class, readonly, nullable, nonatomic) Class superclass;
@property (class, readonly, nonatomic) OFString *description;
#endif

/*!
 * The name of the object's class.
 * @brief The name of the object's class.
 */
@property (readonly, nonatomic) OFString *className;

/*!
 * A description for the object.
 * @brief A description for the object.
 *
 * This is used when the object is used in a format string and for debugging
 * purposes.
 */
@property (readonly, nonatomic) OFString *description;

/*!

Modified src/OFOptionsParser.h from [c6cbbc43b2] to [7fca2f4042].

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
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







-
+









-
-
+
+















-
-
+
+




-
+







	size_t _index, _subIndex;
	of_unichar_t _lastOption;
	OFString *_Nullable _lastLongOption, *_Nullable _argument;
	bool _done;
}

/*!
 * The last parsed option.
 * @brief The last parsed option.
 *
 * If @ref nextOption returned `?` or `:`, this returns the option which was
 * unknown or for which the argument was missing.@n
 * If this returns `-`, the last option is only available as a long option (see
 * lastLongOption).
 */
@property (readonly, nonatomic) of_unichar_t lastOption;

/*!
 * The long option for the last parsed option, or `nil` if the last parsed
 * option was not passed as a long option by the user.
 * @brief The long option for the last parsed option, or `nil` if the last
 *	  parsed option was not passed as a long option by the user.
 *
 * In case @ref nextOption returned `?`, this contains the unknown long
 * option.@n
 * In case it returned `:`, this contains the long option which is missing an
 * argument.@n
 * In case it returned `=`, this contains the long option for which an
 * argument was specified even though the option takes no argument.
 *
 * @warning Unlike @ref lastOption, which returns the short option even if the
 *	    user specified a long option, this only returns the long option if
 *	    it was actually specified as a long option by the user.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *lastLongOption;

/*!
 * The argument for the last parsed option, or `nil` if the last parsed option
 * takes no argument.
 * @brief The argument for the last parsed option, or `nil` if the last parsed
 *	  option takes no argument.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *argument;

/*!
 * The arguments following the last option.
 * @brief The arguments following the last option.
 */
@property (readonly, nonatomic)
    OFArray OF_GENERIC(OFString *) *remainingArguments;

/*!
 * @brief Creates a new OFOptionsParser which accepts the specified options.
 *

Modified src/OFPair.h from [af50510417] to [026145d55f].

31
32
33
34
35
36
37
38

39
40
41
42
43
44

45
46
47
48
49
50
51
31
32
33
34
35
36
37

38
39
40
41
42
43

44
45
46
47
48
49
50
51







-
+





-
+







#endif
{
	FirstType _Nullable _firstObject;
	SecondType _Nullable _secondObject;
}

/*!
 * The first object of the pair.
 * @brief The first object of the pair.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic, retain)
    FirstType firstObject;

/*!
 * The second object of the pair.
 * @brief The second object of the pair.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic, retain)
    SecondType secondObject;

/*!
 * @brief Creates a new OFPair with the specified objects.
 *

Modified src/OFSandbox.h from [81fb90e19c] to [3ea65e10c2].

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
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







+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+


+
-
+
+







	unsigned int _allowsVMInfo: 1;
	unsigned int _allowsChangingProcessRights: 1;
	unsigned int _allowsPF: 1;
	unsigned int _allowsAudio: 1;
	unsigned int _allowsBPF: 1;
}

/*!
/*! Allows IO operations on previously allocated file descriptors. */
 * @brief Allows IO operations on previously allocated file descriptors.
 */
@property (nonatomic) bool allowsStdIO;

/*!
/*! Allows read access to the file system. */
 * @brief Allows read access to the file system.
 */
@property (nonatomic) bool allowsReadingFiles;

/*!
/*! Allows write access to the file system. */
 * @brief Allows write access to the file system.
 */
@property (nonatomic) bool allowsWritingFiles;

/*!
/*! Allows creating files in the file system. */
 * @brief Allows creating files in the file system.
 */
@property (nonatomic) bool allowsCreatingFiles;

/*!
/*! Allows creating special files in the file system. */
 * @brief Allows creating special files in the file system.
 */
@property (nonatomic) bool allowsCreatingSpecialFiles;

/*!
/*! Allows creating, reading and writing temporary files in /tmp. */
 * @brief Allows creating, reading and writing temporary files in `/tmp`.
 */
@property (nonatomic) bool allowsTemporaryFiles;

/*!
/*! Allows using IP sockets. */
 * @brief Allows using IP sockets.
 */
@property (nonatomic) bool allowsIPSockets;

/*!
/*! Allows multicast sockets. */
 * @brief Allows multicast sockets.
 */
@property (nonatomic) bool allowsMulticastSockets;

/*!
/*! Allows explicit changes to file attributes. */
 * @brief Allows explicit changes to file attributes.
 */
@property (nonatomic) bool allowsChangingFileAttributes;

/*!
/*! Allows changing ownership of files. */
 * @brief Allows changing ownership of files.
 */
@property (nonatomic) bool allowsFileOwnerChanges;

/*!
/*! Allows file locks. */
 * @brief Allows file locks.
 */
@property (nonatomic) bool allowsFileLocks;

/*!
/*! Allows UNIX sockets. */
 * @brief Allows UNIX sockets.
 */
@property (nonatomic) bool allowsUNIXSockets;

/*!
/*! Allows syscalls necessary for DNS lookups. */
 * @brief Allows syscalls necessary for DNS lookups.
 */
@property (nonatomic) bool allowsDNS;

/*!
/*! Allows to look up users and groups. */
 * @brief Allows to look up users and groups.
 */
@property (nonatomic) bool allowsUserDatabaseReading;

/*!
/*! Allows sending file descriptors via sendmsg(). */
 * @brief Allows sending file descriptors via sendmsg().
 */
@property (nonatomic) bool allowsFileDescriptorSending;

/*!
/*! Allows receiving file descriptors via recvmsg(). */
 * @brief Allows receiving file descriptors via recvmsg().
 */
@property (nonatomic) bool allowsFileDescriptorReceiving;

/*!
/*! Allows MTIOCGET and MTIOCTOP operations on tape devices. */
 * @brief Allows MTIOCGET and MTIOCTOP operations on tape devices.
 */
@property (nonatomic) bool allowsTape;

/*!
/*! Allows read-write operations and ioctls on the TTY. */
 * @brief Allows read-write operations and ioctls on the TTY.
 */
@property (nonatomic) bool allowsTTY;

/*!
/*! Allows various process relationshop operations. */
 * @brief Allows various process relationshop operations.
 */
@property (nonatomic) bool allowsProcessOperations;

/*!
/*! Allows execve(). */
 * @brief Allows execve().
 */
@property (nonatomic) bool allowsExec;

/*!
/*! Allows PROT_EXEC for mmap() and mprotect(). */
 * @brief Allows PROT_EXEC for `mmap()` and `mprotect()`.
 */
@property (nonatomic) bool allowsProtExec;

/*!
/*! Allows settime(). */
 * @brief Allows `settime()`.
 */
@property (nonatomic) bool allowsSetTime;

/*!
/*! Allows introspection of processes on the system. */
 * @brief Allows introspection of processes on the system.
 */
@property (nonatomic) bool allowsPS;

/*!
/*! Allows introspection of the system's virtual memory. */
 * @brief Allows introspection of the system's virtual memory.
 */
@property (nonatomic) bool allowsVMInfo;

/*!
/*! Allows changing the rights of process, for example the UID. */
 * @brief Allows changing the rights of process, for example the UID.
 */
@property (nonatomic) bool allowsChangingProcessRights;

/*!
/*! Allows certain ioctls on the PF device. */
 * @brief Allows certain ioctls on the PF device.
 */
@property (nonatomic) bool allowsPF;

/*!
/*! Allows certain ioctls on audio devices. */
 * @brief Allows certain ioctls on audio devices.
 */
@property (nonatomic) bool allowsAudio;

/*!
/*! Allows BIOCGSTATS to collect statistics from a BPF device. */
 * @brief Allows BIOCGSTATS to collect statistics from a BPF device.
 */
@property (nonatomic) bool allowsBPF;

/*!
 * @brief Create a new, autorelease OFSandbox.
 */
+ (instancetype)sandbox;

Modified src/OFSerialization.h from [4ac25035a0] to [77b9f279a8].

25
26
27
28
29
30
31
32

33
34
35
36
37
38
39
40
41
42
43
44
45
25
26
27
28
29
30
31

32
33
34
35
36
37
38
39
40
41
42
43
44
45







-
+













/*!
 * @protocol OFSerialization OFSerialization.h ObjFW/OFSerialization.h
 *
 * @brief A protocol for serializing objects.
 */
@protocol OFSerialization
/*!
 * The object serialized into an XML element.
 * @brief The object serialized into an XML element.
 */
@property (readonly, nonatomic) OFXMLElement *XMLElementBySerializing;

/*!
 * @brief Initializes the object with the specified XML element serialization.
 *
 * @param element An OFXMLElement with the serialized object
 * @return An initialized object
 */
- (instancetype)initWithSerialization: (OFXMLElement *)element;
@end

OF_ASSUME_NONNULL_END

Modified src/OFSet.h from [62a20daa00] to [878ae2eb77].

62
63
64
65
66
67
68
69

70
71
72
73
74

75
76
77
78
79
80
81
62
63
64
65
66
67
68

69
70
71
72
73

74
75
76
77
78
79
80
81







-
+




-
+







 */
@interface OFSet OF_GENERIC(ObjectType): OFObject <OFCollection, OFCopying,
    OFMutableCopying, OFSerialization>
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# define ObjectType id
#endif
/*!
 * An array of all objects in the set.
 * @brief An array of all objects in the set.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(ObjectType) *allObjects;

/*!
 * @return An arbitrary object in the set.
 * @brief An arbitrary object in the set.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) ObjectType anyObject;

/*!
 * @brief Creates a new set.
 *
 * @return A new, autoreleased set

Modified src/OFSettings.h from [92c168909f] to [63da8012c3].

34
35
36
37
38
39
40
41


42
43
44
45
46
47
48
34
35
36
37
38
39
40

41
42
43
44
45
46
47
48
49







-
+
+







 */
@interface OFSettings: OFObject
{
	OFString *_applicationName;
}

/*!
 * The name of the application whose settings are accessed by the instance.
 * @brief The name of the application whose settings are accessed by the
 *	  instance.
 */
@property (readonly, nonatomic) OFString *applicationName;

/*!
 * @brief Create a new OFSettings instance for the application with the
 *	  specified name.
 *

Modified src/OFStdIOStream.h from [32be342324] to [0ce400e3cf].

43
44
45
46
47
48
49
50
51


52
53
54
55
56
57


58
59
60
61
62
63
64
43
44
45
46
47
48
49


50
51
52
53
54
55


56
57
58
59
60
61
62
63
64







-
-
+
+




-
-
+
+







	BPTR _handle;
	bool _closable;
#endif
	bool _atEndOfStream;
}

/*!
 * The number of columns, or -1 if there is no underlying terminal or the
 * number of columns could not be queried.
 * @brief The number of columns, or -1 if there is no underlying terminal or
 *	  the number of columns could not be queried.
 */
@property (readonly, nonatomic) int columns;

/*!
 * The number of rows, or -1 if there is no underlying terminal or the number
 * of rows could not be queried
 * @brief The number of rows, or -1 if there is no underlying terminal or the
 *	  number of rows could not be queried.
 */
@property (readonly, nonatomic) int rows;

- (instancetype)init OF_UNAVAILABLE;
@end

#ifdef __cplusplus

Modified src/OFStream.h from [12097ea11a] to [9a95fdcb49].

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
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







-
+




-
+




-
+




-
+







-
+




-
+







	size_t _readBufferLength, _writeBufferLength;
	bool _writeBuffered, _waitingForDelimiter;
@protected
	bool _blocking;
}

/*!
 * Whether the end of the stream has been reached.
 * @brief Whether the end of the stream has been reached.
 */
@property (readonly, nonatomic, getter=isAtEndOfStream) bool atEndOfStream;

/*!
 * Whether writes are buffered.
 * @brief Whether writes are buffered.
 */
@property (nonatomic, nonatomic, getter=isWriteBuffered) bool writeBuffered;

/*!
 * Whether data is present in the internal read buffer.
 * @brief Whether data is present in the internal read buffer.
 */
@property (readonly, nonatomic) bool hasDataInReadBuffer;

/*!
 * Whether the stream is in blocking mode.
 * @brief Whether the stream is in blocking mode.
 *
 * By default, a stream is in blocking mode.
 * On Win32, setting this currently only works for sockets!
 */
@property (readonly, nonatomic, getter=isBlocking) bool blocking;

/*!
 * The file descriptor for the read end of the stream.
 * @brief The file descriptor for the read end of the stream.
 */
@property (readonly, nonatomic) int fileDescriptorForReading;

/*!
 * The file descriptor for the write end of the stream.
 * @brief The file descriptor for the write end of the stream.
 */
@property (readonly, nonatomic) int fileDescriptorForWriting;

/*!
 * @brief Reads *at most* size bytes from the stream into a buffer.
 *
 * On network streams, this might read less than the specified number of bytes.

Modified src/OFString+CryptoHashing.h from [60e0201519] to [01ed53c71f].

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
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







-
+




-
+




-
+




-
+




-
+




-
+




-
+





extern int _OFString_CryptoHashing_reference;
#ifdef __cplusplus
}
#endif

@interface OFString (CryptoHashing)
/*!
 * The MD5 hash of the string as a string.
 * @brief The MD5 hash of the string as a string.
 */
@property (readonly, nonatomic) OFString *MD5Hash;

/*!
 * The RIPEMD-160 hash of the string as a string.
 * @brief The RIPEMD-160 hash of the string as a string.
 */
@property (readonly, nonatomic) OFString *RIPEMD160Hash;

/*!
 * The SHA-1 hash of the string as a string.
 * @brief The SHA-1 hash of the string as a string.
 */
@property (readonly, nonatomic) OFString *SHA1Hash;

/*!
 * The SHA-224 hash of the string as a string.
 * @brief The SHA-224 hash of the string as a string.
 */
@property (readonly, nonatomic) OFString *SHA224Hash;

/*!
 * The SHA-256 hash of the string as a string.
 * @brief The SHA-256 hash of the string as a string.
 */
@property (readonly, nonatomic) OFString *SHA256Hash;

/*!
 * The SHA-384 hash of the string as a string.
 * @brief The SHA-384 hash of the string as a string.
 */
@property (readonly, nonatomic) OFString *SHA384Hash;

/*!
 * The SHA-512 hash of the string as a string.
 * @brief The SHA-512 hash of the string as a string.
 */
@property (readonly, nonatomic) OFString *SHA512Hash;
@end

OF_ASSUME_NONNULL_END

Modified src/OFString+JSONValue.h from [1672f0f914] to [cb7be9db11].

24
25
26
27
28
29
30
31

32
33
34
35
36
37
38
24
25
26
27
28
29
30

31
32
33
34
35
36
37
38







-
+







extern int _OFString_JSONValue_reference;
#ifdef __cplusplus
}
#endif

@interface OFString (JSONValue)
/*!
 * The string interpreted as JSON and parsed as an object.
 * @brief The string interpreted as JSON and parsed as an object.
 *
 * @note This also allows parsing JSON5, an extension of JSON. See
 *	 http://json5.org/ for more details.
 *
 * @warning Although not specified by the JSON specification, this can also
 *          return primitives like strings and numbers. The rationale behind
 *          this is that most JSON parsers allow JSON data just consisting of a

Modified src/OFString+Serialization.h from [76573f3900] to [e5a819348d].

24
25
26
27
28
29
30
31

32
33
34
35
36
24
25
26
27
28
29
30

31
32
33
34
35
36







-
+





extern int _OFString_Serialization_reference;
#ifdef __cplusplus
}
#endif

@interface OFString (Serialization)
/*!
 * The string interpreted as serialization and parsed as an object.
 * @brief The string interpreted as serialization and parsed as an object.
 */
@property (readonly, nonatomic) id objectByDeserializing;
@end

OF_ASSUME_NONNULL_END

Modified src/OFString+URLEncoding.h from [6e3971097b] to [5aad6945ac].

26
27
28
29
30
31
32
33

34
35
36
37
38
39
40
26
27
28
29
30
31
32

33
34
35
36
37
38
39
40







-
+







extern int _OFString_URLEncoding_reference;
#ifdef __cplusplus
}
#endif

@interface OFString (URLEncoding)
/*!
 * The string as an URL decoded string.
 * @brief The string as an URL decoded string.
 */
@property (readonly, nonatomic) OFString *stringByURLDecoding;

/*!
 * @brief Encodes a string for use in a URL, but does not escape the specified
 *	  allowed characters.
 *

Modified src/OFString+XMLEscaping.h from [6735941add] to [938f8d52db].

24
25
26
27
28
29
30
31

32
33
34
35
36
24
25
26
27
28
29
30

31
32
33
34
35
36







-
+





extern int _OFString_XMLEscaping_reference;
#ifdef __cplusplus
}
#endif

@interface OFString (XMLEscaping)
/*!
 * The string in a form escaped for use in an XML document.
 * @brief The string in a form escaped for use in an XML document.
 */
@property (readonly, nonatomic) OFString *stringByXMLEscaping;
@end

OF_ASSUME_NONNULL_END

Modified src/OFString+XMLUnescaping.h from [8f5669758e] to [d4bab10b5e].

62
63
64
65
66
67
68
69

70
71
72
73
74
75
76
62
63
64
65
66
67
68

69
70
71
72
73
74
75
76







-
+







 */
- (nullable OFString *)string: (OFString *)string
   containsUnknownEntityNamed: (OFString *)entity;
@end

@interface OFString (XMLUnescaping)
/*!
 * The string with XML entities unescapted.
 * @brief The string with XML entities unescapted.
 */
@property (readonly, nonatomic) OFString *stringByXMLUnescaping;

/*!
 * @brief Unescapes XML in the string and uses the specified delegate for
 *	  unknown entities.
 *

Modified src/OFString.h from [42499c2971] to [21356c9437].

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
245
246
247
248
249
250

251
252
253
254
255
256
257
258
259
260

261
262
263
264
265
266
267
268
269
270

271
272
273
274
275

276
277
278
279
280
281
282
283
284
285

286
287
288
289
290

291
292
293
294
295

296
297
298
299
300
301

302
303
304
305
306

307
308
309
310
311
312
313
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
245
246
247
248
249

250
251
252
253
254
255
256
257
258
259

260
261
262
263
264
265
266
267
268
269

270
271
272
273
274

275
276
277
278
279
280
281
282
283
284

285
286
287
288
289

290
291
292
293
294

295
296
297
298
299
300

301
302
303
304
305

306
307
308
309
310
311
312
313







-
+




-
+








-
+




-
+




-
+




-
+




-
+




-
+




-
+








-
+












-
+












-
+












-
+







-
+







-
+




-
+




-
+




-
+







-
+









-
+









-
+




-
+









-
+




-
+




-
+





-
+




-
+







 *
 * @brief A class for handling strings.
 */
@interface OFString: OFObject <OFCopying, OFMutableCopying, OFComparing,
    OFSerialization, OFJSONRepresentation, OFMessagePackRepresentation>

/*!
 * The length of the string in Unicode codepoints.
 * @brief The length of the string in Unicode codepoints.
 */
@property (readonly, nonatomic) size_t length;

/*!
 * The OFString as a UTF-8 encoded C string.
 * @brief The OFString as a UTF-8 encoded C string.
 *
 * The result is valid until the autorelease pool is released. If you want to
 * use the result outside the scope of the current autorelease pool, you have to
 * copy it.
 */
@property (readonly, nonatomic) const char *UTF8String OF_RETURNS_INNER_POINTER;

/*!
 * The number of bytes the string needs in UTF-8 encoding.
 * @brief The number of bytes the string needs in UTF-8 encoding.
 */
@property (readonly, nonatomic) size_t UTF8StringLength;

/*!
 * The components of the string when interpreted as a path.
 * @brief The components of the string when interpreted as a path.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(OFString *) *pathComponents;

/*!
 * The last path component of the string when interpreted as a path.
 * @brief The last path component of the string when interpreted as a path.
 */
@property (readonly, nonatomic) OFString *lastPathComponent;

/*!
 * The file extension of string when interpreted as a path.
 * @brief The file extension of string when interpreted as a path.
 */
@property (readonly, nonatomic) OFString *pathExtension;

/*!
 * The string in uppercase.
 * @brief The string in uppercase.
 */
@property (readonly, nonatomic) OFString *uppercaseString;

/*!
 * The string in lowercase.
 * @brief The string in lowercase.
 */
@property (readonly, nonatomic) OFString *lowercaseString;

/*!
 * The string in capitalized form.
 * @brief The string in capitalized form.
 *
 * @note This only considers spaces, tabs and newlines to be word delimiters!
 *	 Also note that this might change in the future to all word delimiters
 *	 specified by Unicode!
 */
@property (readonly, nonatomic) OFString *capitalizedString;

/*!
 * The decimal value of the string as an `intmax_t`.
 * @brief The decimal value of the string as an `intmax_t`.
 *
 * Leading and trailing whitespaces are ignored.
 *
 * If the string contains any non-number characters, an
 * @ref OFInvalidEncodingException is thrown.
 *
 * If the number is too big to fit into an `intmax_t`, an
 * @ref OFOutOfRangeException is thrown.
 */
@property (readonly, nonatomic) intmax_t decimalValue;

/*!
 * The hexadecimal value of the string as an `uintmax_t`.
 * @brief The hexadecimal value of the string as an `uintmax_t`.
 *
 * Leading and trailing whitespaces are ignored.
 *
 * If the string contains any non-number characters, an
 * @ref OFInvalidEncodingException is thrown.
 *
 * If the number is too big to fit into an `uintmax_t`, an
 * @ref OFOutOfRangeException is thrown.
 */
@property (readonly, nonatomic) uintmax_t hexadecimalValue;

/*!
 * The octal value of the string as an `uintmax_t`.
 * @brief The octal value of the string as an `uintmax_t`.
 *
 * Leading and trailing whitespaces are ignored.
 *
 * If the string contains any non-number characters, an
 * @ref OFInvalidEncodingException is thrown.
 *
 * If the number is too big to fit into an `uintmax_t`, an
 * @ref OFOutOfRangeException is thrown.
 */
@property (readonly, nonatomic) uintmax_t octalValue;

/*!
 * The float value of the string as a float.
 * @brief The float value of the string as a float.
 *
 * If the string contains any non-number characters, an
 * @ref OFInvalidEncodingException is thrown.
 */
@property (readonly, nonatomic) float floatValue;

/*!
 * The double value of the string as a double.
 * @brief The double value of the string as a double.
 *
 * If the string contains any non-number characters, an
 * OFInvalidEncodingException is thrown.
 */
@property (readonly, nonatomic) double doubleValue;

/*!
 * The directory name of the string when interpreted as a path.
 * @brief The directory name of the string when interpreted as a path.
 */
@property (readonly, nonatomic) OFString *stringByDeletingLastPathComponent;

/*!
 * The string with the file extension of the path removed.
 * @brief The string with the file extension of the path removed.
 */
@property (readonly, nonatomic) OFString *stringByDeletingPathExtension;

/*!
 * The string interpreted as a path with relative sub paths resolved.
 * @brief The string interpreted as a path with relative sub paths resolved.
 */
@property (readonly, nonatomic) OFString *stringByStandardizingPath;

/*!
 * The string interpreted as a URL path with relative sub paths resolved.
 * @brief The string interpreted as a URL path with relative sub paths resolved.
 *
 * This works similar to @ref stringByStandardizingPath, but is intended for
 * standardization of paths that are part of a URL.
 */
@property (readonly, nonatomic) OFString *stringByStandardizingURLPath;

/*!
 * The string as an array of Unicode characters.
 * @brief The string as an array of Unicode characters.
 *
 * The result is valid until the autorelease pool is released. If you want to
 * use the result outside the scope of the current autorelease pool, you have to
 * copy it.
 */
@property (readonly, nonatomic) const of_unichar_t *characters
    OF_RETURNS_INNER_POINTER;

/*!
 * The string in UTF-16 encoding with native byte order.
 * @brief The string in UTF-16 encoding with native byte order.
 *
 * The result is valid until the autorelease pool is released. If you want to
 * use the result outside the scope of the current autorelease pool, you have to
 * copy it.
 */
@property (readonly, nonatomic) const char16_t *UTF16String
    OF_RETURNS_INNER_POINTER;

/*!
 * The length of the string in UTF-16 characters.
 * @brief The length of the string in UTF-16 characters.
 */
@property (readonly, nonatomic) size_t UTF16StringLength;

/*!
 * The string in UTF-32 encoding with native byte order.
 * @brief The string in UTF-32 encoding with native byte order.
 *
 * The result is valid until the autorelease pool is released. If you want to
 * use the result outside the scope of the current autorelease pool, you have to
 * copy it.
 */
@property (readonly, nonatomic) const char32_t *UTF32String
    OF_RETURNS_INNER_POINTER;

/*!
 * The string with leading whitespaces deleted.
 * @brief The string with leading whitespaces deleted.
 */
@property (readonly, nonatomic) OFString *stringByDeletingLeadingWhitespaces;

/*!
 * The string with trailing whitespaces deleted.
 * @brief The string with trailing whitespaces deleted.
 */
@property (readonly, nonatomic) OFString *stringByDeletingTrailingWhitespaces;

/*!
 * The string with leading and trailing whitespaces deleted.
 * @brief The string with leading and trailing whitespaces deleted.
 */
@property (readonly, nonatomic) OFString *stringByDeletingEnclosingWhitespaces;

#ifdef OF_HAVE_UNICODE_TABLES
/*!
 * The string in Unicode Normalization Form D (NFD).
 * @brief The string in Unicode Normalization Form D (NFD).
 */
@property (readonly, nonatomic) OFString *decomposedStringWithCanonicalMapping;

/*!
 * The string in Unicode Normalization Form KD (NFKD).
 * @brief The string in Unicode Normalization Form KD (NFKD).
 */
@property (readonly, nonatomic)
    OFString *decomposedStringWithCompatibilityMapping;
#endif

/*!
 * @brief Creates a new OFString.

Modified src/OFTCPSocket.h from [4bf4a25fa2] to [c305337bfc].

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
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







-
+




-
+







-
+








-
+







-
+




-
+








#ifdef OF_HAVE_CLASS_PROPERTIES
@property (class, nullable, copy, nonatomic) OFString *SOCKS5Host;
@property (class, nonatomic) uint16_t SOCKS5Port;
#endif

/*!
 * Whether the socket is a listening socket.
 * @brief Whether the socket is a listening socket.
 */
@property (readonly, nonatomic, getter=isListening) bool listening;

/*!
 * The remote address as a string
 * @brief The remote address as a string
 *
 * @note This only works for accepted sockets!
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *remoteAddress;

#if !defined(OF_WII) && !defined(OF_NINTENDO_3DS)
/*!
 * Whether keep alives are enabled for the connection.
 * @brief Whether keep alives are enabled for the connection.
 *
 * @warning This is not available on the Wii or Nintendo 3DS!
 */
@property (nonatomic, getter=isKeepAliveEnabled) bool keepAliveEnabled;
#endif

#ifndef OF_WII
/*!
 * Whether TCP_NODELAY is enabled for the connection
 * @brief Whether TCP_NODELAY is enabled for the connection
 *
 * @warning This is not available on the Wii!
 */
@property (nonatomic, getter=isTCPNoDelayEnabled) bool TCPNoDelayEnabled;
#endif

/*!
 * The host to use as a SOCKS5 proxy.
 * @brief The host to use as a SOCKS5 proxy.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *SOCKS5Host;

/*!
 * The port to use on the SOCKS5 proxy.
 * @brief The port to use on the SOCKS5 proxy.
 */
@property (nonatomic) uint16_t SOCKS5Port;

/*!
 * @brief Sets the global SOCKS5 proxy host to use when creating a new socket
 *
 * @param SOCKS5Host The host to use as a SOCKS5 proxy when creating a new

Modified src/OFTLSSocket.h from [19564dc0db] to [63562e33e5].

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
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







-
+





-
+




-
+




-
+








-
+







 * @protocol OFTLSSocket OFTLSSocket.h ObjFW/OFTLSSocket.h
 *
 * @brief A protocol that should be implemented by 3rd-party libraries
 *	  implementing TLS.
 */
@protocol OFTLSSocket
/*!
 * The delegate for the TLS socket.
 * @brief The delegate for the TLS socket.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    id <OFTLSSocketDelegate> delegate;

/*!
 * The path to the X.509 certificate file to use.
 * @brief The path to the X.509 certificate file to use.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *certificateFile;

/*!
 * The path to the PKCS#8 private key file to use.
 * @brief The path to the PKCS#8 private key file to use.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *privateKeyFile;

/*!
 * The passphrase to decrypt the PKCS#8 private key file.
 * @brief The passphrase to decrypt the PKCS#8 private key file.
 *
 * @warning You have to ensure that this is in secure memory protected from
 *	    swapping! This is also the reason why this is not an OFString.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    const char *privateKeyPassphrase;

/*!
 * Whether certificate verification is enabled.
 * @brief Whether certificate verification is enabled.
 *
 * The default is enabled.
 */
@property (nonatomic, getter=isCertificateVerificationEnabled)
    bool certificateVerificationEnabled;

/*!

Modified src/OFTarArchive.h from [e55df33ec2] to [155fb2c98a].

35
36
37
38
39
40
41
42

43
44
45
46
47
48
49
35
36
37
38
39
40
41

42
43
44
45
46
47
48
49







-
+







		OF_TAR_ARCHIVE_MODE_WRITE,
		OF_TAR_ARCHIVE_MODE_APPEND
	} _mode;
	OF_KINDOF(OFStream *) _Nullable _lastReturnedStream;
}

/*!
 * @return A stream for reading the current entry
 * @brief A stream for reading the current entry
 *
 * @note This is only available in read mode.
 */
@property (readonly, nonatomic) OFStream *streamForReadingCurrentEntry;

/*!
 * @brief Creates a new OFTarArchive object with the specified stream.

Modified src/OFTarArchiveEntry.h from [5bc47b66f3] to [60209b3ccd].

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
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







-
+




-
+




-
+




-
+




-
+




-
+




-
+






-
+





-
+




-
+




-
+




-
+







	of_tar_archive_entry_type_t _type;
	OFString *_Nullable _targetFileName;
	OFString *_Nullable _owner, *_Nullable _group;
	uint32_t _deviceMajor, _deviceMinor;
}

/*!
 * The file name of the entry.
 * @brief The file name of the entry.
 */
@property (readonly, copy, nonatomic) OFString *fileName;

/*!
 * The mode of the entry.
 * @brief The mode of the entry.
 */
@property (readonly, nonatomic) uint32_t mode;

/*!
 * The UID of the owner.
 * @brief The UID of the owner.
 */
@property (readonly, nonatomic) uint32_t UID;

/*!
 * The GID of the group.
 * @brief The GID of the group.
 */
@property (readonly, nonatomic) uint32_t GID;

/*!
 * The size of the file.
 * @brief The size of the file.
 */
@property (readonly, nonatomic) uint64_t size;

/*!
 * The date of the last modification of the file.
 * @brief The date of the last modification of the file.
 */
@property (readonly, retain, nonatomic) OFDate *modificationDate;

/*!
 * The type of the archive entry.
 * @brief The type of the archive entry.
 *
 * See @ref of_tar_archive_entry_type_t.
 */
@property (readonly, nonatomic) of_tar_archive_entry_type_t type;

/*!
 * The file name of the target (for a hard link or symbolic link).
 * @brief The file name of the target (for a hard link or symbolic link).
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *targetFileName;

/*!
 * The owner of the file.
 * @brief The owner of the file.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *owner;

/*!
 * The group of the file.
 * @brief The group of the file.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *group;

/*!
 * The device major (if the file is a device).
 * @brief The device major (if the file is a device).
 */
@property (readonly, nonatomic) uint32_t deviceMajor;

/*!
 * The device major (if the file is a device).
 * @brief The device major (if the file is a device).
 */
@property (readonly, nonatomic) uint32_t deviceMinor;

/*!
 * @brief Creates a new OFTarArchiveEntry with the specified file name.
 *
 * @param fileName The file name for the OFTarArchiveEntry

Modified src/OFThread.h from [8db864191c] to [40cc1f154c].

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
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







-
+










-
+






-
+




-
+










-
+







@property (class, readonly, nullable, nonatomic) OFThread *mainThread;
@property (class, readonly, nullable, nonatomic)
    OFMutableDictionary *threadDictionary;
@property (class, nullable, copy, nonatomic) OFString *name;
# endif

/*!
 * The name for the thread to use when starting it.
 * @brief The name for the thread to use when starting it.
 *
 * @note While this can be changed after the thread has been started, it will
 *	 have no effect once the thread started. If you want to change the name
 *	 of the current thread after it has been started, look at the class
 *	 method @ref setName:.
 */
@property OF_NULLABLE_PROPERTY (copy) OFString *name;

# ifdef OF_HAVE_BLOCKS
/*!
 * The block to execute in the thread.
 * @brief The block to execute in the thread.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
    of_thread_block_t threadBlock;
# endif

/*!
 * The run loop for the thread.
 * @brief The run loop for the thread.
 */
@property (readonly, nonatomic) OFRunLoop *runLoop;

/*!
 * The priority of the thread.
 * @brief The priority of the thread.
 *
 * @note This has to be set before the thread is started!
 *
 * This is a value between -1.0 (meaning lowest priority that still schedules)
 * and +1.0 (meaning highest priority that still allows getting preempted)
 * with normal priority being 0.0 (meaning being the same as the main thread).
 */
@property (nonatomic) float priority;

/*!
 * The stack size of the thread.
 * @brief The stack size of the thread.
 *
 * @note This has to be set before the thread is started!
 */
@property (nonatomic) size_t stackSize;

/*!
 * @brief Creates a new thread.

Modified src/OFThreadPool.h from [ddc1820eca] to [65dbfb3b70].

49
50
51
52
53
54
55
56

57
58
59
60
61
62
63
49
50
51
52
53
54
55

56
57
58
59
60
61
62
63







-
+







	OFList *_queue;
	OFCondition *_queueCondition;
	volatile int _doneCount;
	OFCondition *_countCondition;
}

/*!
 * The size of the thread pool.
 * @brief The size of the thread pool.
 */
@property (readonly, nonatomic) size_t size;

/*!
 * @brief Returns a new thread pool with one thread for each core in the system.
 *
 * @warning If for some reason the number of cores in the system could not be

Modified src/OFTimer.h from [b9c72c484e] to [861a5eb787].

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
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







-
-
+
+




-
+




-
+




-
+







	OFCondition *_condition;
	bool _done;
#endif
	OFRunLoop *_Nullable _inRunLoop;
}

/*!
 * The time interval in which the timer will repeat, if it is a repeating
 * timer.
 * @brief The time interval in which the timer will repeat, if it is a
 *	  repeating timer.
 */
@property (readonly, nonatomic) of_time_interval_t timeInterval;

/*!
 * Whether the timer is repeating.
 * @brief Whether the timer is repeating.
 */
@property (readonly, nonatomic, getter=isRepeating) bool repeating;

/*!
 * Whether the timer is valid.
 * @brief Whether the timer is valid.
 */
@property (readonly, nonatomic, getter=isValid) bool valid;

/*!
 * The next date at which the timer will fire.
 * @brief The next date at which the timer will fire.
 *
 * If the timer is already scheduled in a run loop, it will be rescheduled.
 * Note that rescheduling is an expensive operation, though it still might be
 * preferable to reschedule instead of invalidating the timer and creating a
 * new one.
 */
@property (copy, nonatomic) OFDate *fireDate;

Modified src/OFTriple.h from [90e5e31d41] to [86d2cc6d0d].

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
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







-
+





-
+





-
+







{
	FirstType _Nullable _firstObject;
	SecondType _Nullable _secondObject;
	ThirdType _Nullable _thirdObject;
}

/*!
 * The first object of the triple.
 * @brief The first object of the triple.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic, retain)
    FirstType firstObject;

/*!
 * The second object of the triple.
 * @brief The second object of the triple.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic, retain)
    SecondType secondObject;

/*!
 * The third object of the triple.
 * @brief The third object of the triple.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic, retain)
    ThirdType thirdObject;

/*!
 * @brief Creates a new OFTriple with the specified objects.
 *

Modified src/OFURL.h from [8793c73a5f] to [3047860851].

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
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







-
+




-
+





-
+




-
+





-
+




-
+




-
+





-
+




-
+





-
+




-
+





-
+







-
+







-
+




-
+





-
+




-
+





-
+




-
+







	OFNumber *_Nullable _port;
	OFString *_Nullable _URLEncodedUser, *_Nullable _URLEncodedPassword;
	OFString *_Nullable _URLEncodedPath;
	OFString *_Nullable _URLEncodedQuery, *_Nullable _URLEncodedFragment;
}

/*!
 * The scheme part of the URL.
 * @brief The scheme part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *scheme;

/*!
 * The scheme part of the URL in URL-encoded form.
 * @brief The scheme part of the URL in URL-encoded form.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *URLEncodedScheme;

/*!
 * The host part of the URL.
 * @brief The host part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *host;

/*!
 * The host part of the URL in URL-encoded form.
 * @brief The host part of the URL in URL-encoded form.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *URLEncodedHost;

/*!
 * The port part of the URL.
 * @brief The port part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFNumber *port;

/*!
 * The user part of the URL.
 * @brief The user part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *user;

/*!
 * The user part of the URL in URL-encoded form.
 * @brief The user part of the URL in URL-encoded form.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *URLEncodedUser;

/*!
 * The password part of the URL.
 * @brief The password part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *password;

/*!
 * The password part of the URL in URL-encoded form.
 * @brief The password part of the URL in URL-encoded form.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *URLEncodedPassword;

/*!
 * The path part of the URL.
 * @brief The path part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *path;

/*!
 * The path part of the URL in URL-encoded form.
 * @brief The path part of the URL in URL-encoded form.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *URLEncodedPath;

/*!
 * The path of the URL split into components.
 * @brief The path of the URL split into components.
 *
 * The first component must always be empty to designate the root.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFArray OF_GENERIC(OFString *) *pathComponents;

/*!
 * The last path component of the URL.
 * @brief The last path component of the URL.
 *
 * Returns the empty string if the path is the root.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *lastPathComponent;

/*!
 * The query part of the URL.
 * @brief The query part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *query;

/*!
 * The query part of the URL in URL-encoded form.
 * @brief The query part of the URL in URL-encoded form.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *URLEncodedQuery;

/*!
 * The fragment part of the URL.
 * @brief The fragment part of the URL.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFString *fragment;

/*!
 * The fragment part of the URL in URL-encoded form.
 * @brief The fragment part of the URL in URL-encoded form.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *URLEncodedFragment;

/*!
 * The URL as a string.
 * @brief The URL as a string.
 */
@property (readonly, nonatomic) OFString *string;

/*!
 * The local file system representation for a file URL.
 * @brief The local file system representation for a file URL.
 *
 * @note This only exists for URLs with the file scheme and throws an exception
 *	 otherwise.
 *
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
    OFString *fileSystemRepresentation;

Modified src/OFURLHandler.h from [fa44f4ca93] to [4f23eee65f].

29
30
31
32
33
34
35
36

37
38
39
40
41
42
43
29
30
31
32
33
34
35

36
37
38
39
40
41
42
43







-
+







 */
@interface OFURLHandler: OFObject
{
	OFString *_scheme;
}

/*!
 * The scheme this OFURLHandler handles.
 * @brief The scheme this OFURLHandler handles.
 */
@property (readonly, nonatomic) OFString *scheme;

/*!
 * @brief Registers the specified class as the handler for the specified scheme.
 *
 * If the same class is specified for two schemes, one instance of it is

Modified src/OFXMLAttribute.h from [1c90397046] to [061d869491].

28
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
28
29
30
31
32
33
34

35
36
37
38
39

40
41
42
43
44
45
46
47







-
+




-
+







@interface OFXMLAttribute: OFXMLNode
{
@public
	OFString *_name, *_Nullable _namespace, *_stringValue;
}

/*!
 * The name of the attribute.
 * @brief The name of the attribute.
 */
@property (readonly, nonatomic) OFString *name;

/*!
 * The namespace of the attribute.
 * @brief The namespace of the attribute.
 */
#ifndef __cplusplus
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *namespace;
#else
@property OF_NULLABLE_PROPERTY (readonly, nonatomic, getter=namespace)
    OFString *namespace_;
#endif

Modified src/OFXMLElement+Serialization.h from [befef63d14] to [983fbf3be6].

24
25
26
27
28
29
30
31


32
33
34
35
36
24
25
26
27
28
29
30

31
32
33
34
35
36
37







-
+
+





extern int _OFXMLElement_Serialization_reference;
#ifdef __cplusplus
}
#endif

@interface OFXMLElement (OFSerialization)
/*!
 * The XML element interpreted as serialization and parsed into an object.
 * @brief The XML element interpreted as serialization and parsed into an
 *	  object.
 */
@property (readonly, nonatomic) id objectByDeserializing;
@end

OF_ASSUME_NONNULL_END

Modified src/OFXMLElement.h from [38861a1e42] to [39eb3334c8].

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
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







-
+




-
+









-
+
+




-
+





-
+





-
+







	OFMutableArray OF_GENERIC(OFXMLAttribute *) *_Nullable _attributes;
	OFMutableDictionary OF_GENERIC(OFString *, OFString *) *_Nullable
	    _namespaces;
	OFMutableArray OF_GENERIC(OFXMLNode *) *_Nullable _children;
}

/*!
 * The name of the element.
 * @brief The name of the element.
 */
@property (copy, nonatomic) OFString *name;

/*!
 * The namespace of the element.
 * @brief The namespace of the element.
 */
#ifndef __cplusplus
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *namespace;
#else
@property OF_NULLABLE_PROPERTY (copy, nonatomic,
    getter=namespace, setter=setNamespace:) OFString *namespace_;
#endif

/*!
 * The default namespace for the element to be used if there is no parent.
 * @brief The default namespace for the element to be used if there is no
 *	  parent.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *defaultNamespace;

/*!
 * An array with the attributes of the element
 * @brief An array with the attributes of the element.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic)
    OFArray OF_GENERIC(OFXMLAttribute *) *attributes;

/*!
 * An array of OFXMLNodes with all children of the element.
 * @brief An array of OFXMLNodes with all children of the element.
 */
@property OF_NULLABLE_PROPERTY (nonatomic, copy)
    OFArray OF_GENERIC(OFXMLNode *) *children;

/*!
 * All children that are elements.
 * @brief All children that are elements.
 */
@property (readonly, nonatomic) OFArray OF_GENERIC(OFXMLElement *) *elements;

/*!
 * @brief Creates a new XML element with the specified name.
 *
 * @param name The name for the element

Modified src/OFXMLElementBuilder.h from [3119059616] to [eaad150f1b].

106
107
108
109
110
111
112
113

114
115
116
117
118
119
120
121
122
123
124
125
126
106
107
108
109
110
111
112

113
114
115
116
117
118
119
120
121
122
123
124
125
126







-
+













@interface OFXMLElementBuilder: OFObject <OFXMLParserDelegate>
{
	OFMutableArray OF_GENERIC(OFXMLElement *) *_stack;
	id <OFXMLElementBuilderDelegate> _Nullable _delegate;
}

/*!
 * The delegate for the OFXMLElementBuilder.
 * @brief The delegate for the OFXMLElementBuilder.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    id <OFXMLElementBuilderDelegate> delegate;

/*!
 * @brief Creates a new element builder.
 *
 * @return A new, autoreleased OFXMLElementBuilder
 */
+ (instancetype)elementBuilder;
@end

OF_ASSUME_NONNULL_END

Modified src/OFXMLNode.h from [54f69129e9] to [59a112a637].

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
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







-
+







-
+




-
+




-
+




-
+




-
+







/*!
 * @class OFXMLNode OFXMLNode.h ObjFW/OFXMLNode.h
 *
 * @brief A class which stores an XML element.
 */
@interface OFXMLNode: OFObject <OFCopying, OFSerialization>
/*!
 * The contents of the node as a string value.
 * @brief The contents of the node as a string value.
 *
 * For an @ref OFXMLElement, setting it removes all children and creates a
 * single child with the specified string value.
 */
@property (nonatomic, copy) OFString *stringValue;

/*!
 * The contents of the receiver as a decimal value.
 * @brief The contents of the receiver as a decimal value.
 */
@property (readonly, nonatomic) intmax_t decimalValue;

/*!
 * The contents of the receiver as a hexadecimal value.
 * @brief The contents of the receiver as a hexadecimal value.
 */
@property (readonly, nonatomic) uintmax_t hexadecimalValue;

/*!
 * The contents of the receiver as a float value.
 * @brief The contents of the receiver as a float value.
 */
@property (readonly, nonatomic) float floatValue;

/*!
 * The contents of the receiver as a double value.
 * @brief The contents of the receiver as a double value.
 */
@property (readonly, nonatomic) double doubleValue;

/*!
 * A string representing the node as an XML string.
 * @brief A string representing the node as an XML string.
 */
@property (readonly, nonatomic) OFString *XMLString;

- (instancetype)init OF_UNAVAILABLE;
- (instancetype)initWithSerialization: (OFXMLElement *)element OF_UNAVAILABLE;

/*!

Modified src/OFXMLParser.h from [42011eb439] to [437a042341].

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
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







-
+





-
+




-
+




-
+







	size_t _lineNumber;
	bool _lastCarriageReturn, _finishedParsing;
	of_string_encoding_t _encoding;
	size_t _depthLimit;
}

/*!
 * The delegate that is used by the XML parser.
 * @brief The delegate that is used by the XML parser.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)
    id <OFXMLParserDelegate> delegate;

/*!
 * The current line number.
 * @brief The current line number.
 */
@property (readonly, nonatomic) size_t lineNumber;

/*!
 * @return Whether the XML parser has finished parsing.
 * @brief Whether the XML parser has finished parsing.
 */
@property (readonly, nonatomic) bool hasFinishedParsing;

/*!
 * The depth limit for the XML parser.
 * @brief The depth limit for the XML parser.
 *
 * If the depth limit is exceeded, an OFMalformedXMLException is thrown.
 *
 * The default is 32. 0 means unlimited (insecure!).
 */
@property (nonatomic) size_t depthLimit;

Modified src/OFZIPArchive.h from [29c18aa319] to [5fa883d497].

47
48
49
50
51
52
53
54

55
56
57
58
59
60


61
62
63
64
65
66
67
47
48
49
50
51
52
53

54
55
56
57
58


59
60
61
62
63
64
65
66
67







-
+




-
-
+
+







	OFMutableArray OF_GENERIC(OFZIPArchiveEntry *) *_entries;
	OFMutableDictionary OF_GENERIC(OFString *, OFZIPArchiveEntry *)
	    *_pathToEntryMap;
	OFStream *_Nullable _lastReturnedStream;
}

/*!
 * The archive comment.
 * @brief The archive comment.
 */
@property OF_NULLABLE_PROPERTY (copy, nonatomic) OFString *archiveComment;

/*!
 * The entries in the central directory of the archive as an array of objects
 * of class @ref OFZIPArchiveEntry.
 * @brief The entries in the central directory of the archive as an array of
 *	  objects of class @ref OFZIPArchiveEntry.
 *
 * The objects of the array have the same order as the entries in the central
 * directory, which does not need to be the order in which the actual files are
 * stored.
 */
@property (readonly, nonatomic)
    OFArray OF_GENERIC(OFZIPArchiveEntry *) *entries;

Modified src/OFZIPArchiveEntry.h from [9d05415775] to [0590dc1e40].

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
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







-
+




-
+





-
+






-
+








-
+








-
+






-
+













-
+




-
+




-
+




-
+







-
+







	uint32_t _startDiskNumber;
	uint16_t _internalAttributes;
	uint32_t _versionSpecificAttributes;
	int64_t _localFileHeaderOffset;
}

/*!
 * The file name of the entry.
 * @brief The file name of the entry.
 */
@property (readonly, copy, nonatomic) OFString *fileName;

/*!
 * The comment of the entry's file.
 * @brief The comment of the entry's file.
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic)
    OFString *fileComment;

/*!
 * The extra field of the entry.
 * @brief The extra field of the entry.
 *
 * The item size *must* be 1!
 */
@property OF_NULLABLE_PROPERTY (readonly, copy, nonatomic) OFData *extraField;

/*!
 * The version which made the entry.
 * @brief The version which made the entry.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readonly, nonatomic) uint16_t versionMadeBy;

/*!
 * The minimum version required to extract the file.
 * @brief The minimum version required to extract the file.
 *
 * The lower 8 bits are the ZIP specification version.@n
 * The upper 8 bits are the attribute compatibility.
 * See @ref of_zip_archive_entry_attribute_compatibility.
 */
@property (readonly, nonatomic) uint16_t minVersionNeeded;

/*!
 * The last modification date of the entry's file.
 * @brief The last modification date of the entry's file.
 *
 * @note Due to limitations of the ZIP format, this has only 2 second precision.
 */
@property (readonly, retain, nonatomic) OFDate *modificationDate;

/*!
 * The compression method of the entry.
 * @brief The compression method of the entry.
 *
 * Supported values are:
 * Value                                             | Description
 * --------------------------------------------------|---------------
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_NONE      | No compression
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE   | Deflate
 * OF_ZIP_ARCHIVE_ENTRY_COMPRESSION_METHOD_DEFLATE64 | Deflate64
 *
 * Other values may be returned, but the file cannot be extracted then.
 */
@property (readonly, nonatomic) uint16_t compressionMethod;

/*!
 * The compressed size of the entry's file.
 * @brief The compressed size of the entry's file.
 */
@property (readonly, nonatomic) uint64_t compressedSize;

/*!
 * The uncompressed size of the entry's file.
 * @brief The uncompressed size of the entry's file.
 */
@property (readonly, nonatomic) uint64_t uncompressedSize;

/*!
 * The CRC32 checksum of the entry's file.
 * @brief The CRC32 checksum of the entry's file.
 */
@property (readonly, nonatomic) uint32_t CRC32;

/*!
 * The version specific attributes.
 * @brief The version specific attributes.
 *
 * The meaning of the version specific attributes depends on the attribute
 * compatibility part of the version that made the entry.
 */
@property (readonly, nonatomic) uint32_t versionSpecificAttributes;

/*!
 * The general purpose bit flag of the entry.
 * @brief The general purpose bit flag of the entry.
 *
 * See the ZIP specification for details.
 */
@property (readonly, nonatomic) uint16_t generalPurposeBitFlag;

/*!
 * @brief Creates a new OFZIPArchiveEntry with the specified file name.

Modified src/exceptions/OFAcceptFailedException.h from [b45d336249] to [4e5961b3cb].

31
32
33
34
35
36
37
38

39
40
41
42
43

44
45
46
47
48
49
50
31
32
33
34
35
36
37

38
39
40
41
42

43
44
45
46
47
48
49
50







-
+




-
+







@interface OFAcceptFailedException: OFException
{
	id _socket;
	int _errNo;
}

/*!
 * The socket which could not accept a connection.
 * @brief The socket which could not accept a connection.
 */
@property (readonly, nonatomic) id socket;

/*!
 * @return The errno from when the exception was created.
 * @brief The errno from when the exception was created.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased accept failed exception.

Modified src/exceptions/OFAddressTranslationFailedException.h from [4e44a31efb] to [f135cba5f6].

32
33
34
35
36
37
38
39

40
41
42
43
44
45
46
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46







-
+







@interface OFAddressTranslationFailedException: OFException
{
	OFString *_host;
	int _error;
}

/*!
 * The host for which the address translation was requested.
 * @brief The host for which the address translation was requested.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *host;

/*!
 * @brief Creates a new, autoreleased address translation failed exception.
 *
 * @param host The host for which translation was requested

Modified src/exceptions/OFAlreadyConnectedException.h from [a11c10e218] to [813b5c8c15].

31
32
33
34
35
36
37
38

39
40
41
42
43
44
45
31
32
33
34
35
36
37

38
39
40
41
42
43
44
45







-
+







 */
@interface OFAlreadyConnectedException: OFException
{
	id _socket;
}

/*!
 * The socket which is already connected.
 * @brief The socket which is already connected.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id socket;

/*!
 * @brief Creates a new, autoreleased already connected exception.
 *
 * @param socket The socket which is already connected

Modified src/exceptions/OFBindFailedException.h from [289285d273] to [f4d40c7fc9].

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
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







-
+




-
+




-
+




-
+







	id _socket;
	OFString *_host;
	uint16_t _port;
	int _errNo;
}

/*!
 * The host on which binding failed.
 * @brief The host on which binding failed.
 */
@property (readonly, nonatomic) OFString *host;

/*!
 * The port on which binding failed.
 * @brief The port on which binding failed.
 */
@property (readonly, nonatomic) uint16_t port;

/*!
 * The socket which could not be bound.
 * @brief The socket which could not be bound.
 */
@property (readonly, nonatomic) id socket;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased bind failed exception.

Modified src/exceptions/OFChangeCurrentDirectoryPathFailedException.h from [d3901fd058] to [8787efa71b].

29
30
31
32
33
34
35
36


37
38
39
40
41

42
43
44
45
46
47
48
29
30
31
32
33
34
35

36
37
38
39
40
41

42
43
44
45
46
47
48
49







-
+
+




-
+







@interface OFChangeCurrentDirectoryPathFailedException: OFException
{
	OFString *_path;
	int _errNo;
}

/*!
 * The path of the directory to which the current path could not be changed.
 * @brief The path of the directory to which the current path could not be
 *	  changed.
 */
@property (readonly, nonatomic) OFString *path;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased change current directory path failed

Modified src/exceptions/OFConditionBroadcastFailedException.h from [48c276f516] to [0b5a52ae75].

33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
33
34
35
36
37
38
39

40
41
42
43
44
45
46
47







-
+







 */
@interface OFConditionBroadcastFailedException: OFException
{
	OFCondition *_condition;
}

/*!
 * The condition which could not be broadcasted.
 * @brief The condition which could not be broadcasted.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFCondition *condition;

/*!
 * @brief Returns a new, autoreleased condition broadcast failed exception.
 *
 * @param condition The condition which could not be broadcasted

Modified src/exceptions/OFConditionSignalFailedException.h from [ce33dbc69a] to [b167ca53a1].

33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
33
34
35
36
37
38
39

40
41
42
43
44
45
46
47







-
+







 */
@interface OFConditionSignalFailedException: OFException
{
	OFCondition *_condition;
}

/*!
 * The condition which could not be signaled.
 * @brief The condition which could not be signaled.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFCondition *condition;

/*!
 * @brief Creates a new, autoreleased condition signal failed exception.
 *
 * @param condition The condition which could not be signaled

Modified src/exceptions/OFConditionStillWaitingException.h from [3efd694bea] to [cc49b84e01].

34
35
36
37
38
39
40
41

42
43
44
45
46
47
48
34
35
36
37
38
39
40

41
42
43
44
45
46
47
48







-
+







 */
@interface OFConditionStillWaitingException: OFException
{
	OFCondition *_condition;
}

/*!
 * The condition for which is still being waited.
 * @brief The condition for which is still being waited.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFCondition *condition;

/*!
 * @brief Creates a new, autoreleased condition still waiting exception.
 *
 * @param condition The condition for which is still being waited

Modified src/exceptions/OFConditionWaitFailedException.h from [9b74caeeef] to [d874c42774].

33
34
35
36
37
38
39
40

41
42
43
44
45
46
47
33
34
35
36
37
38
39

40
41
42
43
44
45
46
47







-
+







 */
@interface OFConditionWaitFailedException: OFException
{
	OFCondition *_condition;
}

/*!
 * The condition for which could not be waited.
 * @brief The condition for which could not be waited.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFCondition *condition;

/*!
 * @brief Creates a new, autoreleased condition wait failed exception.
 *
 * @param condition The condition for which could not be waited

Modified src/exceptions/OFConnectionFailedException.h from [ecf1b8d37c] to [fff107ad0a].

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
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







-
+




-
+




-
+




-
+







	id _socket;
	OFString *_host;
	uint16_t _port;
	int _errNo;
}

/*!
 * The socket which could not connect.
 * @brief The socket which could not connect.
 */
@property (readonly, nonatomic) id socket;

/*!
 * The host to which the connection failed.
 * @brief The host to which the connection failed.
 */
@property (readonly, nonatomic) OFString *host;

/*!
 * The port on the host to which the connection failed.
 * @brief The port on the host to which the connection failed.
 */
@property (readonly, nonatomic) uint16_t port;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased connection failed exception.

Modified src/exceptions/OFCopyItemFailedException.h from [236c740781] to [4555d3385b].

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
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







-
+




-
+




-
+







@interface OFCopyItemFailedException: OFException
{
	OFString *_sourcePath, *_destinationPath;
	int _errNo;
}

/*!
 * The path of the source item.
 * @brief The path of the source item.
 */
@property (readonly, nonatomic) OFString *sourcePath;

/*!
 * The destination path.
 * @brief The destination path.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased copy item failed exception.

Modified src/exceptions/OFCreateDirectoryFailedException.h from [29b7244a1a] to [43c0b2c2ca].

30
31
32
33
34
35
36
37

38
39
40
41
42

43
44
45
46
47
48
49
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
49







-
+




-
+







@interface OFCreateDirectoryFailedException: OFException
{
	OFURL *_URL;
	int _errNo;
}

/*!
 * The URL of the directory which couldn't be created.
 * @brief The URL of the directory which couldn't be created.
 */
@property (readonly, nonatomic) OFURL *URL;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased create directory failed exception.

Modified src/exceptions/OFCreateSymbolicLinkFailedException.h from [f58161cb91] to [20fcda4b44].

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
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







-
+




-
+




-
+







{
	OFURL *_URL;
	OFString *_target;
	int _errNo;
}

/*!
 * The URL at which the symlink should have been created.
 * @brief The URL at which the symlink should have been created.
 */
@property (readonly, nonatomic) OFURL *URL;

/*!
 * The target for the symlink.
 * @brief The target for the symlink.
 */
@property (readonly, nonatomic) OFString *target;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased create symbolic link failed exception.

Modified src/exceptions/OFEnumerationMutationException.h from [a58b80edb6] to [3acbd36955].

28
29
30
31
32
33
34
35

36
37
38
39
40
41
42
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42







-
+







 */
@interface OFEnumerationMutationException: OFException
{
	id _object;
}

/*!
 * The object which was mutated during enumeration.
 * @brief The object which was mutated during enumeration.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased enumeration mutation exception.

Modified src/exceptions/OFGetOptionFailedException.h from [323844d58f] to [fc27a4df6e].

29
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
48







-
+




-
+







@interface OFGetOptionFailedException: OFException
{
	OFStream *_stream;
	int _errNo;
}

/*!
 * The stream for which the option could not be retrieved.
 * @brief The stream for which the option could not be retrieved.
 */
@property (readonly, nonatomic) OFStream *stream;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased get option failed exception.

Modified src/exceptions/OFHTTPRequestFailedException.h from [1a9a49c81c] to [df96b5fd02].

35
36
37
38
39
40
41
42

43
44
45
46
47

48
49
50
51
52
53
54
35
36
37
38
39
40
41

42
43
44
45
46

47
48
49
50
51
52
53
54







-
+




-
+







@interface OFHTTPRequestFailedException: OFException
{
	OFHTTPRequest *_request;
	OFHTTPResponse *_response;
}

/*!
 * The HTTP request which failed.
 * @brief The HTTP request which failed.
 */
@property (readonly, nonatomic) OFHTTPRequest *request;

/*!
 * The response for the failed HTTP request.
 * @brief The response for the failed HTTP request.
 */
@property (readonly, nonatomic) OFHTTPResponse *response;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased HTTP request failed exception.

Modified src/exceptions/OFHashAlreadyCalculatedException.h from [354dd8d292] to [9b2047ce2a].

27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
27
28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
+







 */
@interface OFHashAlreadyCalculatedException: OFException
{
	id _object;
}

/*!
 * The hash which has already been calculated.
 * @brief The hash which has already been calculated.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased hash already calculated exception.

Modified src/exceptions/OFInitializationFailedException.h from [b799f88c6f] to [931e3f71b4].

27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
27
28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
+







 */
@interface OFInitializationFailedException: OFException
{
	Class _inClass;
}

/*!
 * The class for which initialization failed.
 * @brief The class for which initialization failed.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) Class inClass;

/*!
 * @brief Creates a new, autoreleased initialization failed exception.
 *
 * @param class_ The class for which initialization failed

Modified src/exceptions/OFInvalidJSONException.h from [bdcf54a68b] to [c9eca5ab49].

27
28
29
30
31
32
33
34

35
36
37
38
39

40
41
42
43
44
45
46
27
28
29
30
31
32
33

34
35
36
37
38

39
40
41
42
43
44
45
46







-
+




-
+







@interface OFInvalidJSONException: OFException
{
	OFString *_string;
	size_t _line;
}

/*!
 * The string containing the invalid JSON representation.
 * @brief The string containing the invalid JSON representation.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *string;

/*!
 * The line in which parsing the JSON representation failed.
 * @brief The line in which parsing the JSON representation failed.
 */
@property (readonly, nonatomic) size_t line;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased invalid JSON exception.

Modified src/exceptions/OFLinkFailedException.h from [c60fe0b102] to [27966ca9cf].

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
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







-
+




-
+




-
+







@interface OFLinkFailedException: OFException
{
	OFURL *_sourceURL, *_destinationURL;
	int _errNo;
}

/*!
 * A URL with the source for the link.
 * @brief A URL with the source for the link.
 */
@property (readonly, nonatomic) OFURL *sourceURL;

/*!
 * A URL with the destination for the link.
 * @brief A URL with the destination for the link.
 */
@property (readonly, nonatomic) OFURL *destinationURL;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased link failed exception.

Modified src/exceptions/OFListenFailedException.h from [9104f958e2] to [8e8a5e1406].

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
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







-
+




-
+




-
+







@interface OFListenFailedException: OFException
{
	id _socket;
	int _backLog, _errNo;
}

/*!
 * The socket which failed to listen.
 * @brief The socket which failed to listen.
 */
@property (readonly, nonatomic) id socket;

/*!
 * The requested back log.
 * @brief The requested back log.
 */
@property (readonly, nonatomic) int backLog;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased listen failed exception.

Modified src/exceptions/OFLockFailedException.h from [689016254d] to [dfc7828bd4].

27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
27
28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
+







 */
@interface OFLockFailedException: OFException
{
	id <OFLocking> _lock;
}

/*!
 * The lock which could not be locked.
 * @brief The lock which could not be locked.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id <OFLocking> lock;

/*!
 * @brief Creates a new, autoreleased lock failed exception.
 *
 * @param lock The lock which could not be locked

Modified src/exceptions/OFMalformedXMLException.h from [5207f028c8] to [3db9adf84c].

28
29
30
31
32
33
34
35

36
37
38
39
40
41
42
28
29
30
31
32
33
34

35
36
37
38
39
40
41
42







-
+







 */
@interface OFMalformedXMLException: OFException
{
	OFXMLParser *_parser;
}

/*!
 * The parser which encountered malformed XML.
 * @brief The parser which encountered malformed XML.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFXMLParser *parser;

/*!
 * @brief Creates a new, autoreleased malformed XML exception.
 *
 * @param parser The parser which encountered malformed XML

Modified src/exceptions/OFMemoryNotPartOfObjectException.h from [b7baf69af5] to [984ee3d5d4].

28
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
28
29
30
31
32
33
34

35
36
37
38
39

40
41
42
43
44
45
46
47







-
+




-
+







@interface OFMemoryNotPartOfObjectException: OFException
{
	void *_Nullable _pointer;
	id _object;
}

/*!
 * A pointer to the memory which is not part of the object.
 * @brief A pointer to the memory which is not part of the object.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) void *pointer;

/*!
 * The object which the memory is not part of.
 * @brief The object which the memory is not part of.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased memory not part of object exception.

Modified src/exceptions/OFMoveItemFailedException.h from [02a6b7d968] to [b9a783ccba].

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
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







-
+




-
+




-
+







@interface OFMoveItemFailedException: OFException
{
	OFString *_sourcePath, *_destinationPath;
	int _errNo;
}

/*!
 * The original path.
 * @brief The original path.
 */
@property (readonly, nonatomic) OFString *sourcePath;

/*!
 * The new path.
 * @brief The new path.
 */
@property (readonly, nonatomic) OFString *destinationPath;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased move item failed exception.

Modified src/exceptions/OFNotImplementedException.h from [b85c9dd392] to [fd8be6c08d].

28
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
28
29
30
31
32
33
34

35
36
37
38
39

40
41
42
43
44
45
46
47







-
+




-
+







@interface OFNotImplementedException: OFException
{
	SEL _selector;
	id _object;
}

/*!
 * The selector which is not or not fully implemented.
 * @brief The selector which is not or not fully implemented.
 */
@property (readonly, nonatomic) SEL selector;

/*!
 * The object which does not (fully) implement the selector.
 * @brief The object which does not (fully) implement the selector.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased not implemented exception.

Modified src/exceptions/OFNotOpenException.h from [69044522fc] to [82252acd0f].

25
26
27
28
29
30
31
32

33
34
35
36
37
38
39
25
26
27
28
29
30
31

32
33
34
35
36
37
38
39







-
+







 */
@interface OFNotOpenException: OFException
{
	id _object;
}

/*!
 * The object which is not open, connected or bound.
 * @brief The object which is not open, connected or bound.
 */
@property (readonly, nonatomic) id object;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased not open exception.

Modified src/exceptions/OFObserveFailedException.h from [3b160642ed] to [b50cd7bff9].

29
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
48







-
+




-
+







@interface OFObserveFailedException: OFException
{
	OFKernelEventObserver *_observer;
	int _errNo;
}

/*!
 * The observer which failed to observe.
 * @brief The observer which failed to observe.
 */
@property (readonly, nonatomic) OFKernelEventObserver *observer;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased observe failed exception.

Modified src/exceptions/OFOpenItemFailedException.h from [fa09fcf95b] to [14ec310bac].

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
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







-
+




-
+




-
+




-
+







	OFURL *_Nullable _URL;
	OFString *_Nullable _path;
	OFString *_mode;
	int _errNo;
}

/*!
 * The URL of the item which could not be opened.
 * @brief The URL of the item which could not be opened.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFURL *URL;

/*!
 * The path of the item which could not be opened.
 * @brief The path of the item which could not be opened.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *path;

/*!
 * The mode in which the item should have been opened.
 * @brief The mode in which the item should have been opened.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *mode;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased open item failed exception.

Modified src/exceptions/OFOutOfMemoryException.h from [aeeb143f52] to [1430f39a40].

26
27
28
29
30
31
32
33

34
35
36
37
38
39
40
26
27
28
29
30
31
32

33
34
35
36
37
38
39
40







-
+







 */
@interface OFOutOfMemoryException: OFException
{
	size_t _requestedSize;
}

/*!
 * The size of the memory that could not be allocated.
 * @brief The size of the memory that could not be allocated.
 */
@property (readonly, nonatomic) size_t requestedSize;

/*!
 * @brief Creates a new, autoreleased no memory exception.
 *
 * @param requestedSize The size of the memory that could not be allocated

Modified src/exceptions/OFReadOrWriteFailedException.h from [50f44143bc] to [5d2f9987f4].

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
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







-
+




-
+




-
+







{
	id _object;
	size_t _requestedLength;
	int _errNo;
}

/*!
 * The stream which caused the read or write failed exception.
 * @brief The stream which caused the read or write failed exception.
 */
@property (readonly, nonatomic) id object;

/*!
 * The requested length of the data that could not be read / written.
 * @brief The requested length of the data that could not be read / written.
 */
@property (readonly, nonatomic) size_t requestedLength;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased read or write failed exception.

Modified src/exceptions/OFRemoveItemFailedException.h from [672847c26c] to [e11821f2ce].

29
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
48







-
+




-
+







@interface OFRemoveItemFailedException: OFException
{
	OFURL *_URL;
	int _errNo;
}

/*!
 * The URL of the item which could not be removed.
 * @brief The URL of the item which could not be removed.
 */
@property (readonly, nonatomic) OFURL *URL;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased remove failed exception.

Modified src/exceptions/OFRetrieveItemAttributesFailedException.h from [9d06732d54] to [63dfbc5df6].

30
31
32
33
34
35
36
37

38
39
40
41
42

43
44
45
46
47
48
49
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
49







-
+




-
+







@interface OFRetrieveItemAttributesFailedException: OFException
{
	OFURL *_URL;
	int _errNo;
}

/*!
 * The URL of the item whose attributes could not be retrieved.
 * @brief The URL of the item whose attributes could not be retrieved.
 */
@property (readonly, nonatomic) OFURL *URL;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased retrieve item attributes failed exception.

Modified src/exceptions/OFSandboxActivationFailedException.h from [1244c14808] to [c1c85027e4].

30
31
32
33
34
35
36
37

38
39
40
41
42

43
44
45
46
47
48
49
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
49







-
+




-
+







@interface OFSandboxActivationFailedException: OFException
{
	OFSandbox *_sandbox;
	int _errNo;
}

/*!
 * The sandbox which could not be activated.
 * @brief The sandbox which could not be activated.
 */
@property (readonly, nonatomic) OFSandbox *sandbox;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased sandboxing failed exception.

Modified src/exceptions/OFSeekFailedException.h from [df09a3f95e] to [983162e896].

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
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







-
+




-
+




-
+




-
+







{
	OFSeekableStream *_stream;
	of_offset_t _offset;
	int _whence, _errNo;
}

/*!
 * The stream for which seeking failed.
 * @brief The stream for which seeking failed.
 */
@property (readonly, nonatomic) OFSeekableStream *stream;

/*!
 * The offset to which seeking failed.
 * @brief The offset to which seeking failed.
 */
@property (readonly, nonatomic) of_offset_t offset;

/*!
 * To what the offset is relative.
 * @brief To what the offset is relative.
 */
@property (readonly, nonatomic) int whence;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased seek failed exception.

Modified src/exceptions/OFSetItemAttributesFailedException.h from [c105a3fef7] to [917bc7ba94].

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
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







-
+




-
+




-
+




-
+







	OFURL *_URL;
	of_file_attributes_t _attributes;
	of_file_attribute_key_t _failedAttribute;
	int _errNo;
}

/*!
 * The URL of the item whose attributes could not be set.
 * @brief The URL of the item whose attributes could not be set.
 */
@property (readonly, nonatomic) OFURL *URL;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

/*!
 * The attributes that should have been set.
 * @brief The attributes that should have been set.
 */
@property (readonly, nonatomic) of_file_attributes_t attributes;

/*!
 * The first attribute that could not be set.
 * @brief The first attribute that could not be set.
 */
@property (readonly, nonatomic) of_file_attribute_key_t failedAttribute;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased set item attributes failed exception.

Modified src/exceptions/OFSetOptionFailedException.h from [c45c93c061] to [75750a4cf0].

29
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
48







-
+




-
+







@interface OFSetOptionFailedException: OFException
{
	OFStream *_stream;
	int _errNo;
}

/*!
 * The stream for which the option could not be set.
 * @brief The stream for which the option could not be set.
 */
@property (readonly, nonatomic) OFStream *stream;

/*!
 * The errno of the error that occurred.
 * @brief The errno of the error that occurred.
 */
@property (readonly, nonatomic) int errNo;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased set option failed exception.

Modified src/exceptions/OFStillLockedException.h from [15a545486d] to [2b143c34fe].

27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
27
28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
+







 */
@interface OFStillLockedException: OFException
{
	id <OFLocking> _lock;
}

/*!
 * The lock which is still locked.
 * @brief The lock which is still locked.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id <OFLocking> lock;

/*!
 * @brief Creates a new, autoreleased still locked exception.
 *
 * @param lock The lock which is still locked

Modified src/exceptions/OFThreadJoinFailedException.h from [595f61afcf] to [59cb698408].

32
33
34
35
36
37
38
39

40
41
42
43
44
45
46
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46







-
+







 */
@interface OFThreadJoinFailedException: OFException
{
	OFThread *_thread;
}

/*!
 * The thread which could not be joined.
 * @brief The thread which could not be joined.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFThread *thread;

/*!
 * @brief Creates a new, autoreleased thread join failed exception.
 *
 * @param thread The thread which could not be joined

Modified src/exceptions/OFThreadStartFailedException.h from [fd6c478dd7] to [bd3f99b7f4].

32
33
34
35
36
37
38
39

40
41
42
43
44
45
46
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46







-
+







 */
@interface OFThreadStartFailedException: OFException
{
	OFThread *_thread;
}

/*!
 * The thread which could not be started.
 * @brief The thread which could not be started.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFThread *thread;

/*!
 * @brief Creates a new, autoreleased thread start failed exception.
 *
 * @param thread The thread which could not be started

Modified src/exceptions/OFThreadStillRunningException.h from [00e790e6d8] to [89be49614b].

32
33
34
35
36
37
38
39

40
41
42
43
44
45
46
32
33
34
35
36
37
38

39
40
41
42
43
44
45
46







-
+







 */
@interface OFThreadStillRunningException: OFException
{
	OFThread *_thread;
}

/*!
 * The thread which is still running.
 * @brief The thread which is still running.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFThread *thread;

/*!
 * @brief Creates a new, autoreleased thread still running exception.
 *
 * @param thread The thread which is still running

Modified src/exceptions/OFUnboundNamespaceException.h from [ea8e0b8705] to [1da1913b15].

29
30
31
32
33
34
35
36

37
38
39
40
41
42
43
44
45

46
47
48
49
50
51
52
29
30
31
32
33
34
35

36
37
38
39
40
41
42
43
44

45
46
47
48
49
50
51
52







-
+








-
+







@interface OFUnboundNamespaceException: OFException
{
	OFString *_namespace;
	OFXMLElement *_element;
}

/*!
 * The unbound namespace.
 * @brief The unbound namespace.
 */
#ifndef __cplusplus
@property (readonly, nonatomic) OFString *namespace;
#else
@property (readonly, nonatomic, getter=namespace) OFString *namespace_;
#endif

/*!
 * The element in which the namespace was not bound.
 * @brief The element in which the namespace was not bound.
 */
@property (readonly, nonatomic) OFXMLElement *element;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased unbound namespace exception.

Modified src/exceptions/OFUnboundPrefixException.h from [093083acd4] to [724d7c2acf].

29
30
31
32
33
34
35
36

37
38
39
40
41

42
43
44
45
46
47
48
29
30
31
32
33
34
35

36
37
38
39
40

41
42
43
44
45
46
47
48







-
+




-
+







@interface OFUnboundPrefixException: OFException
{
	OFString *_prefix;
	OFXMLParser *_parser;
}

/*!
 * The unbound prefix.
 * @brief The unbound prefix.
 */
@property (readonly, nonatomic) OFString *prefix;

/*!
 * The parser which encountered the unbound prefix.
 * @brief The parser which encountered the unbound prefix.
 */
@property (readonly, nonatomic) OFXMLParser *parser;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased unbound prefix exception.

Modified src/exceptions/OFUndefinedKeyException.h from [e74205bb71] to [f0289baead].

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
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







-
+




-
+




-
+







{
	id _object;
	OFString *_key;
	id _Nullable _value;
}

/*!
 * The object on which the key is undefined.
 * @brief The object on which the key is undefined.
 */
@property (readonly, nonatomic) id object;

/*!
 * The key which is undefined.
 * @brief The key which is undefined.
 */
@property (readonly, nonatomic) OFString *key;

/*!
 * The value for the undefined key
 * @brief The value for the undefined key
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id value;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased undefined key exception.

Modified src/exceptions/OFUnknownXMLEntityException.h from [2b12797bb2] to [a0ac7d142d].

27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
27
28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
+







 */
@interface OFUnknownXMLEntityException: OFException
{
	OFString *_entityName;
}

/*!
 * The name of the unknown XML entity.
 * @brief The name of the unknown XML entity.
 */
@property (readonly, nonatomic) OFString *entityName;

/*!
 * @brief Creates a new, autoreleased unknown XML entity exception.
 *
 * @param entityName The name of the unknown XML entity

Modified src/exceptions/OFUnlockFailedException.h from [81892243b6] to [9cbe06a5aa].

27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
27
28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
+







 */
@interface OFUnlockFailedException: OFException
{
	id <OFLocking> _lock;
}

/*!
 * The lock which could not be unlocked.
 * @brief The lock which could not be unlocked.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id <OFLocking> lock;

/*!
 * @brief Creates a new, autoreleased unlock failed exception.
 *
 * @param lock The lock which could not be unlocked

Modified src/exceptions/OFUnsupportedProtocolException.h from [36bb62c9cc] to [f4b9e05e0c].

30
31
32
33
34
35
36
37

38
39
40
41
42
43
44
30
31
32
33
34
35
36

37
38
39
40
41
42
43
44







-
+







 */
@interface OFUnsupportedProtocolException: OFException
{
	OFURL *_URL;
}

/*!
 * The URL whose protocol is unsupported.
 * @brief The URL whose protocol is unsupported.
 */
@property (readonly, nonatomic) OFURL *URL;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased unsupported protocol exception.

Modified src/exceptions/OFUnsupportedVersionException.h from [57c11262a0] to [812d2c39f1].

27
28
29
30
31
32
33
34

35
36
37
38
39
40
41
27
28
29
30
31
32
33

34
35
36
37
38
39
40
41







-
+







 */
@interface OFUnsupportedVersionException: OFException
{
	OFString *_version;
}

/*!
 * The version which is unsupported.
 * @brief The version which is unsupported.
 */
@property (readonly, nonatomic) OFString *version;

+ (instancetype)exception OF_UNAVAILABLE;

/*!
 * @brief Creates a new, autoreleased unsupported version exception.

Modified src/exceptions/OFWriteFailedException.h from [38908fcba9] to [80606be153].

26
27
28
29
30
31
32
33

34
35
36
37
38
39
40
26
27
28
29
30
31
32

33
34
35
36
37
38
39
40







-
+







 */
@interface OFWriteFailedException: OFReadOrWriteFailedException
{
	size_t _bytesWritten;
}

/*!
 * The number of bytes already written before the write failed.
 * @brief The number of bytes already written before the write failed.
 *
 * This can be used to make sure that a retry does not write data already
 * written before.
 */
@property (readonly, nonatomic) size_t bytesWritten;

+ (instancetype)exceptionWithObject: (id)object