ObjFW  Check-in [c40a295629]

Overview
Comment:Either restrict subclassing or reserve ivars
Downloads: Tarball | ZIP archive | SQL archive
Timelines: family | ancestors | descendants | both | trunk
Files: files | file ages | folders
SHA3-256: c40a295629818291fcaecd5fc04880db5d9115be05c8042d2697aaf1d14a0a4e
User & Date: js on 2022-09-12 14:34:38
Other Links: manifest | tags
Context
2022-09-16
13:15
OFString: Improve exceptions check-in: 7dc3d12cad user: js tags: trunk
2022-09-12
14:34
Either restrict subclassing or reserve ivars check-in: c40a295629 user: js tags: trunk
08:52
Restrict subclassing on more classes check-in: 1038191a03 user: js tags: trunk
Changes

Modified src/OFEnumerator.h from [514f228b0c] to [27d5a99680].

94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
94
95
96
97
98
99
100




101
102
103
104
105
106
107







-
-
-
-







 *
 * @brief A class which provides methods to enumerate through collections.
 */
@interface OFEnumerator OF_GENERIC(ObjectType): OFObject <OFFastEnumeration>
#if !defined(OF_HAVE_GENERICS) && !defined(DOXYGEN)
# define ObjectType id
#endif
{
	OF_RESERVE_IVARS(OFEnumerator, 4)
}

/**
 * @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;

Modified src/OFMapTable.h from [db5052bd42] to [382835ac81].

227
228
229
230
231
232
233



234
235
236
237
238
239
240
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243







+
+
+








/**
 * @class OFMapTableEnumerator OFMapTable.h ObjFW/OFMapTable.h
 *
 * @brief A class which provides methods to enumerate through an OFMapTable's
 *	  keys or objects.
 */
#ifndef OF_MAP_TABLE_M
OF_SUBCLASSING_RESTRICTED
#endif
@interface OFMapTableEnumerator: OFObject
{
	OFMapTable *_mapTable;
	struct OFMapTableBucket *_Nonnull *_Nullable _buckets;
	uint32_t _capacity;
	unsigned long _mutations, *_Nullable _mutationsPtr, _position;
}

Modified src/OFMapTable.m from [155910f8b1] to [61602c79fe].

8
9
10
11
12
13
14


15
16
17
18
19
20
21
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23







+
+







 * the packaging of this file.
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#define OF_MAP_TABLE_M

#include "config.h"

#include <stdlib.h>
#include <string.h>

#include <assert.h>

Modified src/OFNotification.h from [de7bff6c2a] to [c3409634e1].

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







-





+








/**
 * @class OFNotification OFNotification.h ObjFW/OFNotification.h
 *
 * @brief A class to represent a notification for or from
 *	  @ref OFNotificationCenter.
 */
OF_SUBCLASSING_RESTRICTED
@interface OFNotification: OFObject <OFCopying>
{
	OFNotificationName _name;
	id _Nullable _object;
	OFDictionary *_Nullable _userInfo;
	OF_RESERVE_IVARS(OFNotification, 4)
}

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

Modified src/OFNotificationCenter.h from [6d89a35135] to [2edf55e2db].

35
36
37
38
39
40
41



42
43
44
45
46
47
48
49
50
51
52
53
54
55
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50

51
52
53
54
55
56
57







+
+
+






-








/**
 * @class OFNotificationCenter OFNotificationCenter.h \
 *	  ObjFW/OFNotificationCenter.h
 *
 * @brief A class to send and register for notifications.
 */
#ifndef OF_NOTIFICATION_CENTER_M
OF_SUBCLASSING_RESTRICTED
#endif
@interface OFNotificationCenter: OFObject
{
#ifdef OF_HAVE_THREADS
	OFMutex *_mutex;
#endif
	OFMutableDictionary *_handles;
	OF_RESERVE_IVARS(OFNotificationCenter, 4)
}

#ifdef OF_HAVE_CLASS_PROPERTIES
@property (class, readonly, nonatomic) OFNotificationCenter *defaultCenter;
#endif

/**

Modified src/OFNotificationCenter.m from [3332a25cc3] to [a7b0a81fd8].

8
9
10
11
12
13
14


15
16
17
18
19
20
21
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23







+
+







 * the packaging of this file.
 *
 * Alternatively, it may be distributed under the terms of the GNU General
 * Public License, either version 2 or 3, which can be found in the file
 * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this
 * file.
 */

#define OF_NOTIFICATION_CENTER_M

#include "config.h"

#import "OFNotificationCenter.h"
#import "OFArray.h"
#import "OFDictionary.h"
#ifdef OF_HAVE_THREADS

Modified src/OFRecursiveMutex.h from [5662e5ef58] to [b2370c565d].

27
28
29
30
31
32
33

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







+











 */
OF_SUBCLASSING_RESTRICTED
@interface OFRecursiveMutex: OFObject <OFLocking>
{
	OFPlainRecursiveMutex _rmutex;
	bool _initialized;
	OFString *_Nullable _name;
	OF_RESERVE_IVARS(OFRecursiveMutex, 4)
}

/**
 * @brief Creates a new recursive mutex.
 *
 * @return A new autoreleased recursive mutex.
 */
+ (instancetype)mutex;
@end

OF_ASSUME_NONNULL_END

Modified src/OFSPXStreamSocket.h from [b5f5c82a33] to [273c44a2b3].

65
66
67
68
69
70
71
72
73




74
75
76
77
78
79
80
65
66
67
68
69
70
71

72
73
74
75
76
77
78
79
80
81
82
83







-

+
+
+
+







 *
 * @note If you want to use SPX in message mode instead of in streaming mode,
 *	 use @ref OFSPXSocket instead.
 *
 * To connect to a server, create a socket and connect it.
 * To create a server, create a socket, bind it and listen on it.
 */
OF_SUBCLASSING_RESTRICTED
@interface OFSPXStreamSocket: OFStreamSocket
{
	OF_RESERVE_IVARS(OFSPXStreamSocket, 4)
}

/**
 * @brief The delegate for asynchronous operations on the socket.
 *
 * @note The delegate is retained for as long as asynchronous operations are
 *	 still ongoing.
 */
@property OF_NULLABLE_PROPERTY (assign, nonatomic)

Modified src/exceptions/OFAcceptFailedException.h from [257583a910] to [af9482eaa0].

27
28
29
30
31
32
33

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







+







 *
 * @brief An exception indicating that accepting a connection failed.
 */
@interface OFAcceptFailedException: OFException
{
	id _socket;
	int _errNo;
	OF_RESERVE_IVARS(OFAcceptFailedException, 4)
}

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

Modified src/exceptions/OFAllocFailedException.h from [89360977c8] to [01cde7dcb3].

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
50







+













 * it.
 *
 * This is the only exception which is not an OFException as it's special. It
 * does not know for which class allocation failed and it should not be handled
 * like other exceptions, as the exception handling code is not allowed to
 * allocate *any* memory.
 */
OF_SUBCLASSING_RESTRICTED
@interface OFAllocFailedException: OFObject
+ (instancetype)exception OF_UNAVAILABLE;
- (instancetype)init OF_UNAVAILABLE;

/**
 * @brief Returns a description of the exception.
 *
 * @return A description of the exception
 */
- (OFString *)description;
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFAlreadyConnectedException.h from [56f0934858] to [ac208c2ef2].

27
28
29
30
31
32
33

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







+







 *
 * @brief An exception indicating an attempt to connect or bind an already
 *        connected or bound socket.
 */
@interface OFAlreadyConnectedException: OFException
{
	id _socket;
	OF_RESERVE_IVARS(OFAlreadyConnectedException, 4)
}

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

Modified src/exceptions/OFBindFailedException.h from [5fb5dee342] to [9447c1c83e].

36
37
38
39
40
41
42

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







+







	uint16_t _port;
	/* IPX */
	uint8_t _packetType;
	/* UNIX socket */
	OFString *_Nullable _path;
	id _socket;
	int _errNo;
	OF_RESERVE_IVARS(OFBindFailedException, 4)
}

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

Modified src/exceptions/OFChangeCurrentDirectoryPathFailedException.h from [fce19a8f8b] to [0196a16f5d].

25
26
27
28
29
30
31

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







+







 * @brief An exception indicating that changing the current directory path
 *	  failed.
 */
@interface OFChangeCurrentDirectoryPathFailedException: OFException
{
	OFString *_path;
	int _errNo;
	OF_RESERVE_IVARS(OFChangeCurrentDirectoryPathFailedException, 4)
}

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

Modified src/exceptions/OFChecksumMismatchException.h from [e6f142cd8f] to [5d6d269610].

22
23
24
25
26
27
28

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







+







 *	  OFChecksumMismatchException.h ObjFW/OFChecksumMismatchException.h
 *
 * @brief An exception indicating that a checksum did not match.
 */
@interface OFChecksumMismatchException: OFException
{
	OFString *_actualChecksum, *_expectedChecksum;
	OF_RESERVE_IVARS(OFChecksumMismatchException, 4)
}

/**
 * @brief The actual checksum calculated.
 */
@property (readonly, nonatomic) OFString *actualChecksum;

Modified src/exceptions/OFConditionBroadcastFailedException.h from [d2d182c69d] to [920b114a94].

30
31
32
33
34
35
36

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







+







 *
 * @brief An exception indicating broadcasting a condition failed.
 */
@interface OFConditionBroadcastFailedException: OFException
{
	OFCondition *_condition;
	int _errNo;
	OF_RESERVE_IVARS(OFConditionBroadcastFailedException, 4)
}

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

Modified src/exceptions/OFConditionSignalFailedException.h from [92e2796a89] to [fd45072644].

30
31
32
33
34
35
36

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







+







 *
 * @brief An exception indicating signaling a condition failed.
 */
@interface OFConditionSignalFailedException: OFException
{
	OFCondition *_condition;
	int _errNo;
	OF_RESERVE_IVARS(OFConditionSignalFailedException, 4)
}

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

Modified src/exceptions/OFConditionStillWaitingException.h from [63592271b5] to [6424437193].

30
31
32
33
34
35
36

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







+







 *
 * @brief An exception indicating that a thread is still waiting for a
 *	  condition.
 */
@interface OFConditionStillWaitingException: OFException
{
	OFCondition *_condition;
	OF_RESERVE_IVARS(OFConditionStillWaitingException, 4)
}

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

Modified src/exceptions/OFConditionWaitFailedException.h from [4c780f1cdc] to [219a53d1c9].

30
31
32
33
34
35
36

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







+







 *
 * @brief An exception indicating waiting for a condition failed.
 */
@interface OFConditionWaitFailedException: OFException
{
	OFCondition *_condition;
	int _errNo;
	OF_RESERVE_IVARS(OFConditionWaitFailedException, 4)
}

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

Modified src/exceptions/OFConnectionFailedException.h from [6f75d86327] to [3f23880b21].

34
35
36
37
38
39
40

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







+







	OFString *_Nullable _host;
	uint16_t _port;
	OFString *_Nullable _path;
	uint32_t _network;
	unsigned char _node[IPX_NODE_LEN];
	id _socket;
	int _errNo;
	OF_RESERVE_IVARS(OFConnectionFailedException, 4)
}

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

Modified src/exceptions/OFCopyItemFailedException.h from [6dbfc6ae6a] to [630315f2f6].

25
26
27
28
29
30
31

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







+







 *
 * @brief An exception indicating that copying a item failed.
 */
@interface OFCopyItemFailedException: OFException
{
	OFURL *_sourceURL, *_destinationURL;
	int _errNo;
	OF_RESERVE_IVARS(OFCopyItemFailedException, 4)
}

/**
 * @brief The URL of the source item.
 */
@property (readonly, nonatomic) OFURL *sourceURL;

Modified src/exceptions/OFCreateDirectoryFailedException.h from [9fb2f6c383] to [f204a4e512].

26
27
28
29
30
31
32

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







+







 *
 * @brief An exception indicating a directory couldn't be created.
 */
@interface OFCreateDirectoryFailedException: OFException
{
	OFURL *_URL;
	int _errNo;
	OF_RESERVE_IVARS(OFCreateDirectoryFailedException, 4)
}

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

Modified src/exceptions/OFCreateSymbolicLinkFailedException.h from [3600a35794] to [200bfbec91].

27
28
29
30
31
32
33

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







+







 * @brief An exception indicating that creating a symbolic link failed.
 */
@interface OFCreateSymbolicLinkFailedException: OFException
{
	OFURL *_URL;
	OFString *_target;
	int _errNo;
	OF_RESERVE_IVARS(OFCreateSymbolicLinkFailedException, 4)
}

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

Modified src/exceptions/OFCreateWindowsRegistryKeyFailedException.h from [10755ff9ec] to [3739e39dc2].

31
32
33
34
35
36
37

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







+







{
	OFWindowsRegistryKey *_registryKey;
	OFString *_path;
	DWORD _options;
	REGSAM _accessRights;
	LPSECURITY_ATTRIBUTES _Nullable _securityAttributes;
	LSTATUS _status;
	OF_RESERVE_IVARS(OFCreateWindowsRegistryKeyFailedException, 4)
}

/**
 * @brief The registry key on which creating the subkey failed.
 */
@property (readonly, nonatomic) OFWindowsRegistryKey *registryKey;

Modified src/exceptions/OFDNSQueryFailedException.h from [852291054a] to [e0cf12b730].

26
27
28
29
30
31
32

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







+







 *
 * @brief An exception indicating that a DNS query failed.
 */
@interface OFDNSQueryFailedException: OFException
{
	OFDNSQuery *_query;
	OFDNSResolverErrorCode _errorCode;
	OF_RESERVE_IVARS(OFDNSQueryFailedException, 4)
}

/**
 * @brief The query which could not be performed.
 */
@property (readonly, nonatomic) OFDNSQuery *query;

Modified src/exceptions/OFDeleteWindowsRegistryKeyFailedException.h from [ce80a5fb98] to [7a006ec7b5].

28
29
30
31
32
33
34

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







+







 * @brief An exception indicating that deleting a Windows registry key failed.
 */
@interface OFDeleteWindowsRegistryKeyFailedException: OFException
{
	OFWindowsRegistryKey *_registryKey;
	OFString *_subkeyPath;
	LSTATUS _status;
	OF_RESERVE_IVARS(OFDeleteWindowsRegistryKeyFailedException, 4)
}

/**
 * @brief The registry key on which deleting the subkey failed.
 */
@property (readonly, nonatomic) OFWindowsRegistryKey *registryKey;

Modified src/exceptions/OFDeleteWindowsRegistryValueFailedException.h from [fb187a24ce] to [0a7f480a16].

28
29
30
31
32
33
34

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







+







 * @brief An exception indicating that deleting a Windows registry value failed.
 */
@interface OFDeleteWindowsRegistryValueFailedException: OFException
{
	OFWindowsRegistryKey *_registryKey;
	OFString *_Nullable _valueName;
	LSTATUS _status;
	OF_RESERVE_IVARS(OFDeleteWindowsRegistryValueFailedException, 4)
}

/**
 * @brief The registry key on which deleting the value failed.
 */
@property (readonly, nonatomic) OFWindowsRegistryKey *registryKey;

Modified src/exceptions/OFEnumerationMutationException.h from [2ab98f2cf4] to [1a130e7399].

24
25
26
27
28
29
30

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







+







 *
 * @brief An exception indicating that a mutation was detected during
 *        enumeration.
 */
@interface OFEnumerationMutationException: OFException
{
	id _object;
	OF_RESERVE_IVARS(OFEnumerationMutationException, 4)
}

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

Modified src/exceptions/OFException.h from [e8334cf8f9] to [6d2e250849].

146
147
148
149
150
151
152

153
154
155
156
157
158
159
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160







+







 *
 * The OFException class is the base class for all exceptions in ObjFW, except
 * the OFAllocFailedException.
 */
@interface OFException: OFObject
{
	void *_backtrace[OFBacktraceSize];
	OF_RESERVE_IVARS(OFException, 4)
}

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

Modified src/exceptions/OFGetCurrentDirectoryPathFailedException.h from [8e5eb876c7] to [30be5f43f5].

24
25
26
27
28
29
30

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







+







 *
 * @brief An exception indicating that getting the current directory path
 *	  failed.
 */
@interface OFGetCurrentDirectoryPathFailedException: OFException
{
	int _errNo;
	OF_RESERVE_IVARS(OFGetCurrentDirectoryPathFailedException, 4)
}

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

Modified src/exceptions/OFGetOptionFailedException.h from [07bdd97238] to [a8c8d533b3].

23
24
25
26
27
28
29

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







+







 *
 * @brief An exception indicating that getting an option for an object failed.
 */
@interface OFGetOptionFailedException: OFException
{
	id _object;
	int _errNo;
	OF_RESERVE_IVARS(OFGetOptionFailedException, 4)
}

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

Modified src/exceptions/OFGetWindowsRegistryValueFailedException.h from [15ecc19a56] to [1bae299028].

28
29
30
31
32
33
34

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







+







 * @brief An exception indicating that getting a Windows registry value failed.
 */
@interface OFGetWindowsRegistryValueFailedException: OFException
{
	OFWindowsRegistryKey *_registryKey;
	OFString *_Nullable _valueName;
	LSTATUS _status;
	OF_RESERVE_IVARS(OFGetWindowsRegistryValueFailedException, 4)
}

/**
 * @brief The registry key on which getting the value at the key path failed.
 */
@property (readonly, nonatomic) OFWindowsRegistryKey *registryKey;

Modified src/exceptions/OFHTTPRequestFailedException.h from [59803d0bef] to [d5947528d2].

31
32
33
34
35
36
37

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







+







 *
 * @brief An exception indicating that an HTTP request failed.
 */
@interface OFHTTPRequestFailedException: OFException
{
	OFHTTPRequest *_request;
	OFHTTPResponse *_response;
	OF_RESERVE_IVARS(OFHTTPRequestFailedException, 4)
}

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

Modified src/exceptions/OFHashAlreadyCalculatedException.h from [9fce34d334] to [0455e7b89e].

23
24
25
26
27
28
29

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







+







 *	  ObjFW/OFHashAlreadyCalculatedException.h
 *
 * @brief An exception indicating that the hash has already been calculated.
 */
@interface OFHashAlreadyCalculatedException: OFException
{
	id _object;
	OF_RESERVE_IVARS(OFHashAlreadyCalculatedException, 4)
}

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

Modified src/exceptions/OFHashNotCalculatedException.h from [768ce1b6b5] to [e76b9886eb].

22
23
24
25
26
27
28

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







+







 *	  ObjFW/OFHashNotCalculatedException.h
 *
 * @brief An exception indicating that the hash has not been calculated yet.
 */
@interface OFHashNotCalculatedException: OFException
{
	id _object;
	OF_RESERVE_IVARS(OFHashNotCalculatedException, 4)
}

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

Modified src/exceptions/OFInitializationFailedException.h from [20206324fd] to [280997dfe1].

23
24
25
26
27
28
29

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







+







 *	  ObjFW/OFInitializationFailedException.h
 *
 * @brief An exception indicating that initializing something failed.
 */
@interface OFInitializationFailedException: OFException
{
	Class _inClass;
	OF_RESERVE_IVARS(OFInitializationFailedException, 4)
}

/**
 * @brief The class for which initialization failed.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) Class inClass;

Modified src/exceptions/OFInvalidArgumentException.h from [d5e2417590] to [835c000126].

20
21
22
23
24
25
26



27
28
29
20
21
22
23
24
25
26
27
28
29
30
31
32







+
+
+



/**
 * @class OFInvalidArgumentException \
 *	  OFInvalidArgumentException.h ObjFW/OFInvalidArgumentException.h
 *
 * @brief An exception indicating that the argument is invalid for this method.
 */
@interface OFInvalidArgumentException: OFException
{
	OF_RESERVE_IVARS(OFInvalidArgumentException, 4)
}
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFInvalidEncodingException.h from [393547809a] to [36e737e07d].

20
21
22
23
24
25
26



27
28
29
20
21
22
23
24
25
26
27
28
29
30
31
32







+
+
+



/**
 * @class OFInvalidEncodingException \
 *	  OFInvalidEncodingException.h ObjFW/OFInvalidEncodingException.h
 *
 * @brief An exception indicating that the encoding is invalid for this object.
 */
@interface OFInvalidEncodingException: OFException
{
	OF_RESERVE_IVARS(OFInvalidEncodingException, 4)
}
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFInvalidFormatException.h from [e6f46ae68c] to [7bd0078c9f].

20
21
22
23
24
25
26



27
28
29
20
21
22
23
24
25
26
27
28
29
30
31
32







+
+
+



/**
 * @class OFInvalidFormatException \
 *	  OFInvalidFormatException.h ObjFW/OFInvalidFormatException.h
 *
 * @brief An exception indicating that the format is invalid.
 */
@interface OFInvalidFormatException: OFException
{
	OF_RESERVE_IVARS(OFInvalidFormatException, 4)
}
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFInvalidJSONException.h from [9ac94f6e36] to [a9bef800fe].

23
24
25
26
27
28
29

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







+







 *
 * @brief An exception indicating a JSON representation is invalid.
 */
@interface OFInvalidJSONException: OFException
{
	OFString *_string;
	size_t _line;
	OF_RESERVE_IVARS(OFInvalidJSONException, 4)
}

/**
 * @brief The string containing the invalid JSON representation.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFString *string;

Modified src/exceptions/OFInvalidServerReplyException.h from [90e12ae8cf] to [9b346b811a].

20
21
22
23
24
25
26



27
28
29
20
21
22
23
24
25
26
27
28
29
30
31
32







+
+
+



/**
 * @class OFInvalidServerReplyException \
 *	  OFInvalidServerReplyException.h ObjFW/OFInvalidServerReplyException.h
 *
 * @brief An exception indicating that the server sent an invalid reply.
 */
@interface OFInvalidServerReplyException: OFException
{
	OF_RESERVE_IVARS(OFInvalidServerReplyException, 4)
}
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFLinkFailedException.h from [099d3c2419] to [d8c1abe3a6].

25
26
27
28
29
30
31

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







+







 *
 * @brief An exception indicating that creating a link failed.
 */
@interface OFLinkFailedException: OFException
{
	OFURL *_sourceURL, *_destinationURL;
	int _errNo;
	OF_RESERVE_IVARS(OFLinkFailedException, 4)
}

/**
 * @brief A URL with the source for the link.
 */
@property (readonly, nonatomic) OFURL *sourceURL;

Modified src/exceptions/OFListenFailedException.h from [32d4375802] to [a41aaff3ca].

27
28
29
30
31
32
33

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







+







 *
 * @brief An exception indicating that listening on the socket failed.
 */
@interface OFListenFailedException: OFException
{
	id _socket;
	int _backlog, _errNo;
	OF_RESERVE_IVARS(OFListenFailedException, 4)
}

/**
 * @brief The socket which failed to listen.
 */
@property (readonly, nonatomic) id socket;

Modified src/exceptions/OFLoadPluginFailedException.h from [7c45470186] to [bb70233a5c].

22
23
24
25
26
27
28

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







+







 *	  OFLoadPluginFailedException.h ObjFW/OFLoadPluginFailedException.h
 *
 * @brief An exception indicating a plugin could not be loaded.
 */
@interface OFLoadPluginFailedException: OFException
{
	OFString *_path, *_Nullable _error;
	OF_RESERVE_IVARS(OFLoadPluginFailedException, 4)
}

/**
 * @brief The path of the plugin which could not be loaded
 */
@property (readonly, nonatomic) OFString *path;

Modified src/exceptions/OFLockFailedException.h from [e861f27ee4] to [58545dfa42].

24
25
26
27
28
29
30

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







+







 *
 * @brief An exception indicating that locking a lock failed.
 */
@interface OFLockFailedException: OFException
{
	id <OFLocking> _Nullable _lock;
	int _errNo;
	OF_RESERVE_IVARS(OFLockFailedException, 4)
}

/**
 * @brief The lock which could not be locked.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id <OFLocking> lock;

Modified src/exceptions/OFMalformedXMLException.h from [3b999908e6] to [d319798b44].

24
25
26
27
28
29
30

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







+







 *	  OFMalformedXMLException.h ObjFW/OFMalformedXMLException.h
 *
 * @brief An exception indicating that a parser encountered malformed XML.
 */
@interface OFMalformedXMLException: OFException
{
	OFXMLParser *_parser;
	OF_RESERVE_IVARS(OFMalformedXMLException, 4)
}

/**
 * @brief The parser which encountered malformed XML.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFXMLParser *parser;

Modified src/exceptions/OFMoveItemFailedException.h from [c4c3e18fa9] to [a67998f491].

25
26
27
28
29
30
31

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







+







 *
 * @brief An exception indicating that moving an item failed.
 */
@interface OFMoveItemFailedException: OFException
{
	OFURL *_sourceURL, *_destinationURL;
	int _errNo;
	OF_RESERVE_IVARS(OFMoveItemFailedException, 4)
}

/**
 * @brief The original URL.
 */
@property (readonly, nonatomic) OFURL *sourceURL;

Modified src/exceptions/OFNotImplementedException.h from [891dc14bbc] to [f0426204c4].

24
25
26
27
28
29
30

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







+







 * @brief An exception indicating that a method or part of it is not
 *        implemented.
 */
@interface OFNotImplementedException: OFException
{
	SEL _selector;
	id _Nullable _object;
	OF_RESERVE_IVARS(OFNotImplementedException, 4)
}

/**
 * @brief The selector which is not or not fully implemented.
 */
@property (readonly, nonatomic) SEL selector;

Modified src/exceptions/OFNotOpenException.h from [45f02f6f12] to [5a826ad61e].

21
22
23
24
25
26
27

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







+







 * @class OFNotOpenException OFNotOpenException.h ObjFW/OFNotOpenException.h
 *
 * @brief An exception indicating an object is not open, connected or bound.
 */
@interface OFNotOpenException: OFException
{
	id _object;
	OF_RESERVE_IVARS(OFNotOpenException, 4)
}

/**
 * @brief The object which is not open, connected or bound.
 */
@property (readonly, nonatomic) id object;

Modified src/exceptions/OFObserveFailedException.h from [6c7bf7885c] to [1e54133af2].

25
26
27
28
29
30
31

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







+







 *
 * @brief An exception indicating that observing failed.
 */
@interface OFObserveFailedException: OFException
{
	OFKernelEventObserver *_observer;
	int _errNo;
	OF_RESERVE_IVARS(OFObserveFailedException, 4)
}

/**
 * @brief The observer which failed to observe.
 */
@property (readonly, nonatomic) OFKernelEventObserver *observer;

Modified src/exceptions/OFOpenItemFailedException.h from [bf32fbec46] to [eff540d360].

27
28
29
30
31
32
33

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







+







 */
@interface OFOpenItemFailedException: OFException
{
	OFURL *_Nullable _URL;
	OFString *_Nullable _path;
	OFString *_mode;
	int _errNo;
	OF_RESERVE_IVARS(OFOpenItemFailedException, 4)
}

/**
 * @brief The URL of the item which could not be opened.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFURL *URL;

Modified src/exceptions/OFOpenWindowsRegistryKeyFailedException.h from [883198f087] to [36fb64cf1a].

31
32
33
34
35
36
37

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







+







{
	OFWindowsRegistryKey *_registryKey;
	OFString *_path;
	REGSAM _accessRights;
	LPSECURITY_ATTRIBUTES _Nullable _securityAttributes;
	DWORD _options;
	LSTATUS _status;
	OF_RESERVE_IVARS(OFOpenWindowsRegistryKeyFailedException, 4)
}

/**
 * @brief The registry key on which opening the subkey failed.
 */
@property (readonly, nonatomic) OFWindowsRegistryKey *registryKey;

Modified src/exceptions/OFOutOfMemoryException.h from [a0abc1f6de] to [f5654732f6].

22
23
24
25
26
27
28

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







+







 *	  OFOutOfMemoryException.h ObjFW/OFOutOfMemoryException.h
 *
 * @brief An exception indicating there is not enough memory available.
 */
@interface OFOutOfMemoryException: OFException
{
	size_t _requestedSize;
	OF_RESERVE_IVARS(OFOutOfMemoryException, 4)
}

/**
 * @brief The size of the memory that could not be allocated.
 */
@property (readonly, nonatomic) size_t requestedSize;

Modified src/exceptions/OFOutOfRangeException.h from [ad1a11af88] to [f8a5e124cb].

20
21
22
23
24
25
26



27
28
29
20
21
22
23
24
25
26
27
28
29
30
31
32







+
+
+



/**
 * @class OFOutOfRangeException \
 *	  OFOutOfRangeException.h ObjFW/OFOutOfRangeException.h
 *
 * @brief An exception indicating the given value is out of range.
 */
@interface OFOutOfRangeException: OFException
{
	OF_RESERVE_IVARS(OFOutOfRangeException, 4)
}
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFReadFailedException.h from [a4ca6ea7be] to [1ab276c5fd].

20
21
22
23
24
25
26



27
28
29
20
21
22
23
24
25
26
27
28
29
30
31
32







+
+
+



/**
 * @class OFReadFailedException \
 *	  OFReadFailedException.h ObjFW/OFReadFailedException.h
 *
 * @brief An exception indicating that reading from an object failed.
 */
@interface OFReadFailedException: OFReadOrWriteFailedException
{
	OF_RESERVE_IVARS(OFReadFailedException, 4)
}
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFReadOrWriteFailedException.h from [17403f4ccf] to [2c37db7aa0].

25
26
27
28
29
30
31

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







+







 *	  failed.
 */
@interface OFReadOrWriteFailedException: OFException
{
	id _object;
	size_t _requestedLength;
	int _errNo;
	OF_RESERVE_IVARS(OFReadOrWriteFailedException, 4)
}

/**
 * @brief The stream which caused the read or write failed exception.
 */
@property (readonly, nonatomic) id object;

Modified src/exceptions/OFRemoveItemFailedException.h from [c9bfaec2ab] to [60915efe4d].

25
26
27
28
29
30
31

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







+







 *
 * @brief An exception indicating that removing an item failed.
 */
@interface OFRemoveItemFailedException: OFException
{
	OFURL *_URL;
	int _errNo;
	OF_RESERVE_IVARS(OFRemoveItemFailedException, 4)
}

/**
 * @brief The URL of the item which could not be removed.
 */
@property (readonly, nonatomic) OFURL *URL;

Modified src/exceptions/OFResolveHostFailedException.h from [26d03aec04] to [983add21d8].

25
26
27
28
29
30
31

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







+







 * @brief An exception indicating that resolving a host failed.
 */
@interface OFResolveHostFailedException: OFException
{
	OFString *_host;
	OFSocketAddressFamily _addressFamily;
	OFDNSResolverErrorCode _errorCode;
	OF_RESERVE_IVARS(OFResolveHostFailedException, 4)
}

/**
 * @brief The host which could not be resolved.
 */
@property (readonly, nonatomic) OFString *host;

Modified src/exceptions/OFRetrieveItemAttributesFailedException.h from [2269d1ffef] to [73250e6fb2].

26
27
28
29
30
31
32

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







+







 *
 * @brief An exception indicating an item's attributes could not be retrieved.
 */
@interface OFRetrieveItemAttributesFailedException: OFException
{
	OFURL *_URL;
	int _errNo;
	OF_RESERVE_IVARS(OFRetrieveItemAttributesFailedException, 4)
}

/**
 * @brief The URL of the item whose attributes could not be retrieved.
 */
@property (readonly, nonatomic) OFURL *URL;

Modified src/exceptions/OFSeekFailedException.h from [cc5ff19519] to [2132111c3a].

26
27
28
29
30
31
32

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







+







 */
@interface OFSeekFailedException: OFException
{
	OFSeekableStream *_stream;
	OFStreamOffset _offset;
	OFSeekWhence _whence;
	int _errNo;
	OF_RESERVE_IVARS(OFSeekFailedException, 4)
}

/**
 * @brief The stream for which seeking failed.
 */
@property (readonly, nonatomic) OFSeekableStream *stream;

Modified src/exceptions/OFSetItemAttributesFailedException.h from [40e626240d] to [8ece988d41].

29
30
31
32
33
34
35

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







+







 */
@interface OFSetItemAttributesFailedException: OFException
{
	OFURL *_URL;
	OFFileAttributes _attributes;
	OFFileAttributeKey _failedAttribute;
	int _errNo;
	OF_RESERVE_IVARS(OFSetItemAttributesFailedException, 4)
}

/**
 * @brief The URL of the item whose attributes could not be set.
 */
@property (readonly, nonatomic) OFURL *URL;

Modified src/exceptions/OFSetOptionFailedException.h from [fd8e9dd895] to [2fa10041b9].

23
24
25
26
27
28
29

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







+







 *
 * @brief An exception indicating that setting an option for an object failed.
 */
@interface OFSetOptionFailedException: OFException
{
	id _object;
	int _errNo;
	OF_RESERVE_IVARS(OFSetOptionFailedException, 4)
}

/**
 * @brief The object for which the option could not be set.
 */
@property (readonly, nonatomic) id object;

Modified src/exceptions/OFSetWindowsRegistryValueFailedException.h from [881eab26fa] to [88eed12b7b].

30
31
32
33
34
35
36

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







+







@interface OFSetWindowsRegistryValueFailedException: OFException
{
	OFWindowsRegistryKey *_registryKey;
	OFString *_Nullable _valueName;
	OFData *_Nullable _data;
	DWORD _type;
	LSTATUS _status;
	OF_RESERVE_IVARS(OFSetWindowsRegistryValueFailedException, 4)
}

/**
 * @brief The registry key on which setting the value failed.
 */
@property (readonly, nonatomic) OFWindowsRegistryKey *registryKey;

Modified src/exceptions/OFStillLockedException.h from [9e844f7b24] to [da104224a4].

23
24
25
26
27
28
29

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







+







 *	  OFStillLockedException.h ObjFW/OFStillLockedException.h
 *
 * @brief An exception indicating that a lock is still locked.
 */
@interface OFStillLockedException: OFException
{
	id <OFLocking> _Nullable _lock;
	OF_RESERVE_IVARS(OFStillLockedException, 4)
}

/**
 * @brief The lock which is still locked.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id <OFLocking> lock;

Modified src/exceptions/OFTLSHandshakeFailedException.h from [624dc0f97d] to [f9e2ae9630].

38
39
40
41
42
43
44

45
46
47
48
49
50
51
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52







+







 * @brief An exception indicating that a TLS handshake.
 */
@interface OFTLSHandshakeFailedException: OFException
{
	OFTLSStream *_stream;
	OFString *_Nullable _host;
	OFTLSStreamErrorCode _errorCode;
	OF_RESERVE_IVARS(OFTLSHandshakeFailedException, 4)
}

/**
 * @brief The TLS stream which failed the handshake.
 */
@property (readonly, nonatomic) OFTLSStream *stream;

Modified src/exceptions/OFThreadJoinFailedException.h from [8bf49777b7] to [d301dc0b05].

29
30
31
32
33
34
35

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







+







 *
 * @brief An exception indicating that joining a thread failed.
 */
@interface OFThreadJoinFailedException: OFException
{
	OFThread *_Nullable _thread;
	int _errNo;
	OF_RESERVE_IVARS(OFThreadJoinFailedException, 4)
}

/**
 * @brief The thread which could not be joined.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFThread *thread;

Modified src/exceptions/OFThreadStartFailedException.h from [d864107627] to [744fa4d2f0].

29
30
31
32
33
34
35

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







+







 *
 * @brief An exception indicating that starting a thread failed.
 */
@interface OFThreadStartFailedException: OFException
{
	OFThread *_Nullable _thread;
	int _errNo;
	OF_RESERVE_IVARS(OFThreadStartFailedException, 4)
}

/**
 * @brief The thread which could not be started.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFThread *thread;

Modified src/exceptions/OFThreadStillRunningException.h from [2982187d56] to [8cadaadd37].

28
29
30
31
32
33
34

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







+







 *	  OFThreadStillRunningException.h ObjFW/OFThreadStillRunningException.h
 *
 * @brief An exception indicating that a thread is still running.
 */
@interface OFThreadStillRunningException: OFException
{
	OFThread *_Nullable _thread;
	OF_RESERVE_IVARS(OFThreadStillRunningException, 4)
}

/**
 * @brief The thread which is still running.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFThread *thread;

Modified src/exceptions/OFTruncatedDataException.h from [8a558e22e7] to [c355984cb5].

21
22
23
24
25
26
27



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







+
+
+



 * @class OFTruncatedDataException \
 *	  OFTruncatedDataException.h ObjFW/OFTruncatedDataException.h
 *
 * @brief An exception indicating that data was truncated while it should not
 *	  have been truncated.
 */
@interface OFTruncatedDataException: OFException
{
	OF_RESERVE_IVARS(OFTruncatedDataException, 4)
}
@end

OF_ASSUME_NONNULL_END

Modified src/exceptions/OFUnboundNamespaceException.h from [cc4424a80d] to [782770074b].

25
26
27
28
29
30
31

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







+







 *
 * @brief An exception indicating an attempt to use an unbound namespace.
 */
@interface OFUnboundNamespaceException: OFException
{
	OFString *_namespace;
	OFXMLElement *_element;
	OF_RESERVE_IVARS(OFUnboundNamespaceException, 4)
}

/**
 * @brief The unbound namespace.
 */
#ifndef __cplusplus
@property (readonly, nonatomic) OFString *namespace;

Modified src/exceptions/OFUnboundPrefixException.h from [6d7bca5c41] to [c1eaadb13e].

25
26
27
28
29
30
31

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







+







 *
 * @brief An exception indicating an attempt to use an unbound prefix.
 */
@interface OFUnboundPrefixException: OFException
{
	OFString *_prefix;
	OFXMLParser *_parser;
	OF_RESERVE_IVARS(OFUnboundPrefixException, 4)
}

/**
 * @brief The unbound prefix.
 */
@property (readonly, nonatomic) OFString *prefix;

Modified src/exceptions/OFUndefinedKeyException.h from [1d0c472b52] to [1b1bc72e6f].

25
26
27
28
29
30
31

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







+







 *	  Coding).
 */
@interface OFUndefinedKeyException: OFException
{
	id _object;
	OFString *_Nullable _key;
	id _Nullable _value;
	OF_RESERVE_IVARS(OFUndefinedKeyException, 4)
}

/**
 * @brief The object on which the key is undefined.
 */
@property (readonly, nonatomic) id object;

Modified src/exceptions/OFUnknownXMLEntityException.h from [fdd37fe4f2] to [effb41465b].

23
24
25
26
27
28
29

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







+







 *
 * @brief An exception indicating that a parser encountered an unknown XML
 *	  entity.
 */
@interface OFUnknownXMLEntityException: OFException
{
	OFString *_entityName;
	OF_RESERVE_IVARS(OFUnknownXMLEntityException, 4)
}

/**
 * @brief The name of the unknown XML entity.
 */
@property (readonly, nonatomic) OFString *entityName;

Modified src/exceptions/OFUnlockFailedException.h from [ab29b208b2] to [2273de4dc6].

24
25
26
27
28
29
30

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







+







 *
 * @brief An exception indicating that unlocking a lock failed.
 */
@interface OFUnlockFailedException: OFException
{
	id <OFLocking> _Nullable _lock;
	int _errNo;
	OF_RESERVE_IVARS(OFUnlockFailedException, 4)
}

/**
 * @brief The lock which could not be unlocked.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) id <OFLocking> lock;

Modified src/exceptions/OFUnsupportedProtocolException.h from [8223e3796e] to [2e727d85fe].

26
27
28
29
30
31
32

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







+







 *
 * @brief An exception indicating that the protocol specified by the URL is not
 *	  supported.
 */
@interface OFUnsupportedProtocolException: OFException
{
	OFURL *_Nullable _URL;
	OF_RESERVE_IVARS(OFUnsupportedProtocolException, 4)
}

/**
 * @brief The URL whose protocol is unsupported.
 */
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFURL *URL;

Modified src/exceptions/OFUnsupportedVersionException.h from [fd604be220] to [2da3b1eaf2].

23
24
25
26
27
28
29

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







+







 *
 * @brief An exception indicating that the specified version of the format or
 *	  protocol is not supported.
 */
@interface OFUnsupportedVersionException: OFException
{
	OFString *_version;
	OF_RESERVE_IVARS(OFUnsupportedVersionException, 4)
}

/**
 * @brief The version which is unsupported.
 */
@property (readonly, nonatomic) OFString *version;

Modified src/exceptions/OFWriteFailedException.h from [52a0c0096f] to [6dee61073a].

22
23
24
25
26
27
28

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







+







 *	  OFWriteFailedException.h ObjFW/OFWriteFailedException.h
 *
 * @brief An exception indicating that writing to an object failed.
 */
@interface OFWriteFailedException: OFReadOrWriteFailedException
{
	size_t _bytesWritten;
	OF_RESERVE_IVARS(OFWriteFailedException, 4)
}

/**
 * @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.