Comment: | Switch to a headerdoc-compatible doc format. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
1ad956525366e0445f3c24ce6a9ab035 |
User & Date: | js on 2012-10-28 12:38:36 |
Other Links: | manifest | tags |
2012-10-28
| ||
14:43 | OFIntrospection: Allow selectors containing UTF-8. check-in: f904fef37e user: js tags: trunk | |
12:38 | Switch to a headerdoc-compatible doc format. check-in: 1ad9565253 user: js tags: trunk | |
12:37 | Fix wrong imports. check-in: d477b270f3 user: js tags: trunk | |
Modified src/OFApplication.h from [ec565e513e] to [f44a22ec3a].
︙ | ︙ | |||
25 26 27 28 29 30 31 | #define OF_APPLICATION_DELEGATE(cls) \ int \ main(int argc, char *argv[]) \ { \ return of_application_main(&argc, &argv, [cls class]); \ } | | | | | | | | | | | | | | | | | | | | | | 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 | #define OF_APPLICATION_DELEGATE(cls) \ int \ main(int argc, char *argv[]) \ { \ return of_application_main(&argc, &argv, [cls class]); \ } /*! * @brief A protocol for delegates of OFApplication. */ #ifndef OF_APPLICATION_M @protocol OFApplicationDelegate <OFObject> #else @protocol OFApplicationDelegate #endif /*! * @brief A method which is called when the application was initialized and is * running now. */ - (void)applicationDidFinishLaunching; #ifdef OF_HAVE_OPTIONAL_PROTOCOLS @optional #endif /*! * @brief A method which is called when the application will terminate. */ - (void)applicationWillTerminate; /*! * @brief A method which is called when the application received a SIGINT. * * @warning You are not allowed to send any messages inside this method, as * message dispatching is not signal-safe! You are only allowed to do * signal-safe operations like setting a variable or calling a * signal-safe function! */ - (void)applicationDidReceiveSIGINT; #ifndef _WIN32 /*! * @brief A method which is called when the application received a SIGHUP. * * This signal is not available on Windows. * * @warning You are not allowed to send any messages inside this method, as * message dispatching is not signal-safe! You are only allowed to do * signal-safe operations like setting a variable or calling a * signal-safe function! */ - (void)applicationDidReceiveSIGHUP; /*! * @brief A method which is called when the application received a SIGUSR1. * * This signal is not available on Windows. * * @warning You are not allowed to send any messages inside this method, as * message dispatching is not signal-safe! You are only allowed to do * signal-safe operations like setting a variable or calling a * signal-safe function! */ - (void)applicationDidReceiveSIGUSR1; /*! * @brief A method which is called when the application received a SIGUSR2. * * This signal is not available on Windows. * * @warning You are not allowed to send any messages inside this method, as * message dispatching is not signal-safe! You are only allowed to do * signal-safe operations like setting a variable or calling a * signal-safe function! */ - (void)applicationDidReceiveSIGUSR2; #endif @end /*! * @brief Represents the application as an object. */ @interface OFApplication: OFObject { OFString *programName; OFMutableArray *arguments; OFMutableDictionary *environment; int *argc; |
︙ | ︙ | |||
123 124 125 126 127 128 129 | #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *programName; @property (readonly, copy, nonatomic) OFArray *arguments; @property (readonly, copy, nonatomic) OFDictionary *environment; @property (assign) id <OFApplicationDelegate> delegate; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *programName; @property (readonly, copy, nonatomic) OFArray *arguments; @property (readonly, copy, nonatomic) OFDictionary *environment; @property (assign) id <OFApplicationDelegate> delegate; #endif /*! * @brief Returns the only OFApplication instance in the application. * * @return The only OFApplication instance in the application */ + (OFApplication*)sharedApplication; /*! * @brief Returns the name of the program (argv[0]). * * @return The name of the program (argv[0]) */ + (OFString*)programName; /*! * @brief Returns the arguments passed to the application. * * @return The arguments passed to the application */ + (OFArray*)arguments; /*! * @brief Returns the environment of the application. * * @return The environment of the application */ + (OFDictionary*)environment; /*! * @brief Terminates the application. */ + (void)terminate; /*! * @brief Terminates the application with the specified status. * * @param status The status with which the application will terminate */ + (void)terminateWithStatus: (int)status; /*! * @brief Sets argc and argv. * * You should not call this directly, but use OF_APPLICATION_DELEGATE instead! * * @param argc The number of arguments * @param argv The argument values */ - (void)setArgumentCount: (int*)argc andArgumentValues: (char**[])argv; /*! * @brief Gets args and argv. * * @param argc A pointer where a pointer to argc should be stored * @param argv A pointer where a pointer to argv should be stored */ - (void)getArgumentCount: (int**)argc andArgumentValues: (char***[])argv; /*! * @brief Returns the name of the program (argv[0]). * * @return The name of the program (argv[0]) */ - (OFString*)programName; /*! * @brief Returns the arguments passed to the application. * * @return The arguments passed to the application */ - (OFArray*)arguments; /*! * @brief Returns the environment of the application. * * @return The environment of the application */ - (OFDictionary*)environment; /*! * @brief Returns the delegate of the application. * * @return The delegate of the application */ - (id <OFApplicationDelegate>)delegate; /*! * @brief Sets the delegate of the application. * * @param delegate The delegate for the application */ - (void)setDelegate: (id <OFApplicationDelegate>)delegate; /*! * @brief Starts the application after everything has been initialized. * * You should not call this directly, but use OF_APPLICATION_DELEGATE instead! */ - (void)run; /*! * @brief Terminates the application. */ - (void)terminate; /*! * @brief Terminates the application with the specified status. * * @param status The status with which the application will terminate */ - (void)terminateWithStatus: (int)status; @end @interface OFObject (OFApplicationDelegate) <OFApplicationDelegate> @end |
︙ | ︙ |
Modified src/OFArray.h from [d93b4c3a6a] to [768eda6eec].
︙ | ︙ | |||
35 36 37 38 39 40 41 | typedef void (^of_array_enumeration_block_t)(id object, size_t index, BOOL *stop); typedef BOOL (^of_array_filter_block_t)(id odject, size_t index); typedef id (^of_array_map_block_t)(id object, size_t index); typedef id (^of_array_fold_block_t)(id left, id right); #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 | typedef void (^of_array_enumeration_block_t)(id object, size_t index, BOOL *stop); typedef BOOL (^of_array_filter_block_t)(id odject, size_t index); typedef id (^of_array_map_block_t)(id object, size_t index); typedef id (^of_array_fold_block_t)(id left, id right); #endif /*! * @brief An abstract class for storing objects in an array. */ @interface OFArray: OFObject <OFCopying, OFMutableCopying, OFCollection, OFSerialization, OFJSONRepresentation> #ifdef OF_HAVE_PROPERTIES @property (readonly) size_t count; #endif /*! * @brief Creates a new OFArray. * * @return A new autoreleased OFArray */ + (instancetype)array; /*! * @brief Creates a new OFArray with the specified object. * * @param object An object * @return A new autoreleased OFArray */ + (instancetype)arrayWithObject: (id)object; /*! * @brief Creates a new OFArray with the specified objects, terminated by nil. * * @param firstObject The first object in the array * @return A new autoreleased OFArray */ + (instancetype)arrayWithObjects: (id)firstObject, ... OF_SENTINEL; /*! * @brief Creates a new OFArray with the objects from the specified array. * * @param array An array * @return A new autoreleased OFArray */ + (instancetype)arrayWithArray: (OFArray*)array; /*! * @brief Creates a new OFArray with the objects from the specified C array of * the specified length. * * @param objects A C array of objects * @param length The length of the C array * @return A new autoreleased OFArray */ + (instancetype)arrayWithObjects: (id const*)objects count: (size_t)count; /*! * @brief Initializes an OFArray with the specified object. * * @param object An object * @return An initialized OFArray */ - initWithObject: (id)object; /*! * @brief Initializes an OFArray with the specified objects. * * @param firstObject The first object * @return An initialized OFArray */ - initWithObjects: (id)firstObject, ... OF_SENTINEL; /*! * @brief Initializes an OFArray with the specified object and a va_list. * * @param firstObject The first object * @param arguments A va_list * @return An initialized OFArray */ - initWithObject: (id)firstObject arguments: (va_list)arguments; /*! * @brief Initializes an OFArray with the objects from the specified array. * * @param array An array * @return An initialized OFArray */ - initWithArray: (OFArray*)array; /*! * @brief Initializes an OFArray with the objects from the specified C array of * the specified length. * * @param objects A C array of objects * @param length The length of the C array * @return An initialized OFArray */ - initWithObjects: (id const*)objects count: (size_t)count; /*! * @brief Returns a specified object of the array. * * The returned object is <i>not</i> retained and autoreleased for performance * reasons! * * @param index The number of the object to return * @return The specified object of the OFArray */ - (id)objectAtIndex: (size_t)index; - (id)objectAtIndexedSubscript: (size_t)index; /*! * @brief Copies the objects at the specified range to the specified buffer. * * @param buffer The buffer to copy the objects to * @param range The range to copy */ - (void)getObjects: (__unsafe_unretained id*)buffer inRange: (of_range_t)range; /*! * @brief Returns the objects of the array as a C array. * * @return The objects of the array as a C array */ - (id*)objects; /*! * @brief Returns the index of the first object that is equivalent to the * specified object or OF_NOT_FOUND if it was not found. * * @param object The object whose index is returned * @return The index of the first object equivalent to the specified object * or OF_NOT_FOUND if it was not found */ - (size_t)indexOfObject: (id)object; /*! * @brief Returns the index of the first object that has the same address as the * specified object or OF_NOT_FOUND if it was not found. * * @param object The object whose index is returned * @return The index of the first object that has the same aaddress as * the specified object or OF_NOT_FOUND if it was not found */ - (size_t)indexOfObjectIdenticalTo: (id)object; /*! * @brief Checks whether the array contains an object with the specified * address. * * @param object The object which is checked for being in the array * @return A boolean whether the array contains an object with the specified * address. */ - (BOOL)containsObjectIdenticalTo: (id)object; /*! * @brief Returns the first object of the array or nil. * * The returned object is <i>not</i> retained and autoreleased for performance * reasons! * * @return The first object of the array or nil */ - (id)firstObject; /*! * @brief Returns the last object of the array or nil. * * The returned object is <i>not</i> retained and autoreleased for performance * reasons! * * @return The last object of the array or nil */ - (id)lastObject; /*! * @brief Returns the objects in the specified range as a new OFArray. * * @param range The range for the subarray * @return The subarray as a new autoreleased OFArray */ - (OFArray*)objectsInRange: (of_range_t)range; /*! * @brief Creates a string by joining all objects of the array. * * @param separator The string with which the objects should be joined * @return A string containing all objects joined by the separator */ - (OFString*)componentsJoinedByString: (OFString*)separator; /*! * @brief Creates a string by calling the selector on all objects of the array * and joining the strings returned by calling the selector. * * @param separator The string with which the objects should be joined * @param selector The selector to perform on the objects * @return A string containing all objects joined by the separator */ - (OFString*)componentsJoinedByString: (OFString*)separator usingSelector: (SEL)selector; /*! * @brief Performs the specified selector on all objects in the array. * * @param selector The selector to perform on all objects in the array */ - (void)makeObjectsPerformSelector: (SEL)selector; /*! * @brief Performs the specified selector on all objects in the array with the * specified object. * * @param selector The selector to perform on all objects in the array * @param object The object to perform the selector with on all objects in the * array */ - (void)makeObjectsPerformSelector: (SEL)selector withObject: (id)object; /*! * @brief Returns a sorted copy of the array. * * @return A sorted copy of the array */ - (OFArray*)sortedArray; /*! * @brief Returns a copy of the array with the order reversed. * * @return A copy of the array with the order reversed */ - (OFArray*)reversedArray; /*! * @brief Creates a new array with the specified object added. * * @param object The object to add * @return A new array with the specified object added */ - (OFArray*)arrayByAddingObject: (id)object; /*! * @brief Creates a new array with the objects from the specified array added. * * @param array The array with objects to add * @return A new array with the objects from the specified array added */ - (OFArray*)arrayByAddingObjectsFromArray: (OFArray*)array; /*! * @brief Creates a new array with the specified object removed. * * @param object The object to remove * @return A new array with the specified object removed */ - (OFArray*)arrayByRemovingObject: (id)object; #ifdef OF_HAVE_BLOCKS /*! * @brief Executes a block for each object. * * @param block The block to execute for each object */ - (void)enumerateObjectsUsingBlock: (of_array_enumeration_block_t)block; /*! * @brief Creates a new array, mapping each object using the specified block. * * @param block A block which maps an object for each object * @return A new, autoreleased OFArray */ - (OFArray*)mappedArrayUsingBlock: (of_array_map_block_t)block; /*! * @brief Creates a new array, only containing the objects for which the block * returns YES. * * @param block A block which determines if the object should be in the new * array * @return A new, autoreleased OFArray */ - (OFArray*)filteredArrayUsingBlock: (of_array_filter_block_t)block; /*! * @brief Folds the array to a single object using the specified block. * * If the array is empty, it will return nil. * * If there is only one object in the array, that object will be returned and * the block will not be invoked. * * If there are at least two objects, the block is invoked for each object * except the first, where left is always to what the array has already been * folded and right what should be added to left. * * @param block A block which folds two objects into one, which is called for * all objects except the first * @return The array folded to a single object */ - (id)foldUsingBlock: (of_array_fold_block_t)block; #endif @end @interface OFArrayEnumerator: OFEnumerator { |
︙ | ︙ |
Modified src/OFAutoreleasePool.h from [5fa48ae30d] to [6e133e1966].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFObject.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | * 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. */ #import "OFObject.h" /*! * @brief A pool that keeps track of objects to release. * * The OFAutoreleasePool class is a class that keeps track of objects that will * be released when the autorelease pool is released. * * Every thread has its own stack of autorelease pools. */ @interface OFAutoreleasePool: OFObject { void *pool; BOOL ignoreRelease; } /*! * @brief Adds an object to the autorelease pool at the top of the * thread-specific autorelease pool stack. * * @param object The object to add to the autorelease pool * @return The object */ + (id)addObject: (id)object; /*! * @brief Releases all objects in the autorelease pool. * * This does not free the memory allocated to store pointers to the objects in * the pool, so reusing the pool does not allocate any memory until the previous * number of objects is exceeded. It behaves this way to optimize loops that * always work with the same or similar number of objects and call relaseObjects * at the end of the loop, which is propably the most common case for * releaseObjects. * * If a garbage collector is added in the future, it will tell the GC that now * is a good time to clean up, as this is often used after a lot of objects * have been added to the pool that should be released before the next iteration * of a loop, which adds objects again. Thus, it is usually a clean up call. */ - (void)releaseObjects; /*! * @brief Releases all objects in the autorelease pool and deallocates the pool. */ - (void)release; /*! * @brief Releases all objects in the autorelease pool and deallocates the pool. */ - (void)drain; @end #ifdef __cplusplus extern "C" { #endif extern id of_autorelease(id); #ifdef __cplusplus } #endif |
Modified src/OFBlock.h from [57ad6e55f9] to [b8e1a2deb4].
︙ | ︙ | |||
42 43 44 45 46 47 48 | #ifndef Block_copy # define Block_copy(x) ((__typeof__(x))_Block_copy((const void*)(x))) #endif #ifndef Block_release # define Block_release(x) _Block_release((const void*)(x)) #endif | | | | 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | #ifndef Block_copy # define Block_copy(x) ((__typeof__(x))_Block_copy((const void*)(x))) #endif #ifndef Block_release # define Block_release(x) _Block_release((const void*)(x)) #endif /*! * @brief The class for all blocks, since all blocks are also objects. */ @interface OFBlock: OFObject @end @interface OFStackBlock: OFBlock @end |
︙ | ︙ |
Modified src/OFCollection.h from [69a9127fc3] to [39431ad515].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFEnumerator.h" | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | * 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. */ #import "OFEnumerator.h" /*! * @brief A protocol with methods common for all collections. */ @protocol OFCollection <OFEnumerating, OFFastEnumeration> #ifdef OF_HAVE_PROPERTIES @property (readonly) size_t count; #endif /*! * @brief Returns the number of objects in the collection. * * @return The number of objects in the collection */ - (size_t)count; /*! * @brief Checks whether the collection contains an object equal to the * specified object. * * @param object The object which is checked for being in the collection * @return A boolean whether the collection contains the specified object */ - (BOOL)containsObject: (id)object; @end |
Modified src/OFCondition.h from [1e8d6909b1] to [7903b725d1].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFMutex.h" | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 | * 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. */ #import "OFMutex.h" /*! * @brief A class implementing a condition variable for thread synchronization. */ @interface OFCondition: OFMutex { of_condition_t condition; BOOL conditionInitialized; } /*! * @brief Creates a new condition. * * @return A new, autoreleased OFCondition */ + (instancetype)condition; /*! * @brief Blocks the current thread until another thread calls -[signal] or * -[broadcast]. */ - (void)wait; /*! * @brief Signals the next waiting thread to continue. */ - (void)signal; /*! * @brief Signals all threads to continue. */ - (void)broadcast; @end |
Modified src/OFConstantString.h from [faa3808289] to [592b0ead45].
︙ | ︙ | |||
23 24 25 26 27 28 29 | # endif extern void *_OFConstantStringClassReference; # ifdef __cplusplus } # endif #endif | | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | # endif extern void *_OFConstantStringClassReference; # ifdef __cplusplus } # endif #endif /*! * @brief A class for storing constant strings using the \@"" literal. */ @interface OFConstantString: OFString { char *cString; size_t cStringLength; } @end |
Modified src/OFCountedSet.h from [38bca9caea] to [a4d21d5e22].
︙ | ︙ | |||
17 18 19 20 21 22 23 | #import "OFSet.h" #ifdef OF_HAVE_BLOCKS typedef void (^of_counted_set_enumeration_block_t)(id object, size_t count, BOOL *stop); #endif | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | #import "OFSet.h" #ifdef OF_HAVE_BLOCKS typedef void (^of_counted_set_enumeration_block_t)(id object, size_t count, BOOL *stop); #endif /*! * @brief An abstract class for a mutable unordered set of objects, counting how * often it contains an object. */ @interface OFCountedSet: OFMutableSet /*! * @brief Returns how often the object is in the set. * * @return How often the object is in the set */ - (size_t)countForObject: (id)object; #ifdef OF_HAVE_BLOCKS /*! * @brief Executes a block for each object in the set. * * @param block The block to execute for each object in the set */ - (void)enumerateObjectsAndCountUsingBlock: (of_counted_set_enumeration_block_t)block; #endif @end |
Modified src/OFDataArray+Hashing.h from [7b8e83201a] to [56ee04101c].
︙ | ︙ | |||
22 23 24 25 26 27 28 | extern "C" { #endif extern int _OFDataArray_Hashing_reference; #ifdef __cplusplus } #endif | | | | | | | | | | 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 | extern "C" { #endif extern int _OFDataArray_Hashing_reference; #ifdef __cplusplus } #endif /*! * @brief A category which provides methods to calculate hashes for data arrays. */ @interface OFDataArray (Hashing) /*! * @brief Returns the MD5 hash of the data array as an autoreleased OFString. * * @return The MD5 hash of the data array as an autoreleased OFString */ - (OFString*)MD5Hash; /*! * @brief Returns the SHA-1 hash of the data array as an autoreleased OFString. * * @return The SHA-1 hash of the data array as an autoreleased OFString */ - (OFString*)SHA1Hash; @end |
Modified src/OFDataArray.h from [fe192fcada] to [c01f27a1bc].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "OFObject.h" #import "OFSerialization.h" @class OFString; @class OFURL; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 | #import "OFObject.h" #import "OFSerialization.h" @class OFString; @class OFURL; /*! * @brief A class for storing arbitrary data in an array. * * If you plan to store large hunks of data, you should consider using * OFBigDataArray, which allocates the memory in pages rather than in bytes. * * For security reasons, serialization and deserialization is only implemented * for OFDataArrays with item size 1. */ @interface OFDataArray: OFObject <OFCopying, OFComparing, OFSerialization> { uint8_t *data; size_t count; size_t itemSize; } #ifdef OF_HAVE_PROPERTIES @property (readonly, getter=cArray) void *data; @property (readonly) size_t count; @property (readonly) size_t itemSize; #endif /*! * @brief Creates a new OFDataArray with an item size of 1. * * @return A new autoreleased OFDataArray */ + (instancetype)dataArray; /*! * @brief Creates a new OFDataArray whose items all have the same size. * * @param itemSize The size of each element in the OFDataArray * @return A new autoreleased OFDataArray */ + (instancetype)dataArrayWithItemSize: (size_t)itemSize; /*! * @brief Creates a new OFDataArary with an item size of 1, containing the data * of the specified file. * * @param path The path of the file * @return A new autoreleased OFDataArray */ + (instancetype)dataArrayWithContentsOfFile: (OFString*)path; /*! * @brief Creates a new OFDataArray with an item size of 1, containing the data * of the specified URL. * * @param URL The URL to the contents for the OFDataArray * @return A new autoreleased OFDataArray */ + (instancetype)dataArrayWithContentsOfURL: (OFURL*)URL; /*! * @brief Creates a new OFDataArray with an item size of 1, containing the data * of the string representation. * * @param string The string representation of the data * @return A new autoreleased OFDataArray */ + (instancetype)dataArrayWithStringRepresentation: (OFString*)string; /*! * @brief Creates a new OFDataArray with an item size of 1, containing the data * of the Base64-encoded string. * * @param string The string with the Base64-encoded data * @return A new autoreleased OFDataArray */ + (instancetype)dataArrayWithBase64EncodedString: (OFString*)string; /*! * @brief Initializes an already allocated OFDataArray with an item size of 1. * * @return A initialized OFDataArray */ - init; /*! * @brief Initializes an already allocated OFDataArray whose items all have the * same size. * * @param itemSize The size of each element in the OFDataArray * @return An initialized OFDataArray */ - initWithItemSize: (size_t)itemSize; /*! * @brief Initializes an already allocated OFDataArray with an item size of 1, * containing the data of the specified file. * * @param path The path of the file * @return An initialized OFDataArray */ - initWithContentsOfFile: (OFString*)path; /*! * @brief Initializes an already allocated OFDataArray with an item size of 1, * containing the data of the specified URL. * * @param URL The URL to the contents for the OFDataArray * @return A new autoreleased OFDataArray */ - initWithContentsOfURL: (OFURL*)URL; /*! * @brief Initializes an already allocated OFDataArray with an item size of 1, * containing the data of the string representation. * * @param string The string representation of the data * @return A new autoreleased OFDataArray */ - initWithStringRepresentation: (OFString*)string; /*! * @brief Initializes an already allocated OFDataArray with an item size of 1, * containing the data of the Base64-encoded string. * * @param string The string with the Base64-encoded data * @return A initialized OFDataArray */ - initWithBase64EncodedString: (OFString*)string; /*! * @brief Returns the number of items in the OFDataArray. * * @return The number of items in the OFDataArray */ - (size_t)count; /*! * @brief Returns the size of each item in the OFDataArray in bytes. * * @return The size of each item in the OFDataArray in bytes */ - (size_t)itemSize; /*! * @brief Returns all elements of the OFDataArray as a C array. * * @warning The pointer is only valid until the OFDataArray is changed! * * Modifying the returned array directly is allowed and will change the contents * of the data array. * * @return All elements of the OFDataArray as a C array */ - (void*)cArray OF_RETURNS_INNER_POINTER; /*! * @brief Returns a specific item of the OFDataArray. * * @param index The number of the item to return * @return The specified item of the OFDataArray */ - (void*)itemAtIndex: (size_t)index OF_RETURNS_INNER_POINTER; /*! * @brief Returns the first item of the OFDataArray. * * @return The first item of the OFDataArray or NULL */ - (void*)firstItem OF_RETURNS_INNER_POINTER; /*! * @brief Returns the last item of the OFDataArray. * * @return The last item of the OFDataArray or NULL */ - (void*)lastItem OF_RETURNS_INNER_POINTER; /*! * @brief Adds an item to the OFDataArray. * * @param item A pointer to an arbitrary item */ - (void)addItem: (const void*)item; /*! * @brief Adds an item to the OFDataArray at the specified index. * * @param item A pointer to an arbitrary item * @param index The index where the item should be added */ - (void)insertItem: (const void*)item atIndex: (size_t)index; /*! * @brief Adds items from a C array to the OFDataArray. * * @param count The number of items to add * @param cArray A C array containing the items to add */ - (void)addItemsFromCArray: (const void*)cArray count: (size_t)count; /*! * @brief Adds items from a C array to the OFDataArray at the specified index. * * @param cArray A C array containing the items to add * @param index The index where the items should be added * @param count The number of items to add */ - (void)insertItemsFromCArray: (const void*)cArray atIndex: (size_t)index count: (size_t)count; /*! * @brief Removes the item at the specified index. * * @param index The index of the item to remove */ - (void)removeItemAtIndex: (size_t)index; /*! * @brief Removes the specified amount of items at the specified index. * * @param range The range of items to remove */ - (void)removeItemsInRange: (of_range_t)range; /*! * @brief Removes the last item. */ - (void)removeLastItem; /*! * @brief Removes all items. */ - (void)removeAllItems; /*! * @brief Returns the string representation of the data array. * * @return The string representation of the data array. */ - (OFString*)stringRepresentation; /*! * @brief Returns a string containing the data in Base64 encoding. * * @return A string containing the data in Base64 encoding */ - (OFString*)stringByBase64Encoding; /*! * @brief Writes the OFDataArray into the specified file. * * @param path The path of the file to write to */ - (void)writeToFile: (OFString*)path; @end /*! * @brief A class for storing arbitrary big data in an array. * * The OFBigDataArray class is a class for storing arbitrary data in an array * and is designed to store large hunks of data. Therefore, it allocates * memory in pages rather than a chunk of memory for each item. */ @interface OFBigDataArray: OFDataArray { size_t size; } @end #import "OFDataArray+Hashing.h" |
Modified src/OFDate.h from [09915d0305] to [267ceb61ed].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "OFObject.h" #import "OFSerialization.h" @class OFString; @class OFConstantString; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 | #import "OFObject.h" #import "OFSerialization.h" @class OFString; @class OFConstantString; /*! * @brief A class for storing, accessing and comparing dates. */ @interface OFDate: OFObject <OFCopying, OFComparing, OFSerialization> { double seconds; } /*! * @brief Creates a new OFDate with the current date and time. * * @return A new, autoreleased OFDate with the current date and time */ + (instancetype)date; /*! * @brief Creates a new OFDate with the specified date and time since * 1970-01-01T00:00:00Z. * * @param seconds The seconds since 1970-01-01T00:00:00Z * @return A new, autoreleased OFDate with the specified date and time */ + (instancetype)dateWithTimeIntervalSince1970: (double)seconds; /*! * @brief Creates a new OFDate with the specified date and time since now. * * @param seconds The seconds since now * @return A new, autoreleased OFDate with the specified date and time */ + (instancetype)dateWithTimeIntervalSinceNow: (double)seconds; /*! * @brief Creates a new OFDate with the specified string in the specified * format. * * The time zone used is UTC. See +[dateWithLocalDateString:format:] if you * want local time. * * See the manpage for strftime for information on the format. * * @warning The format is currently limited to the following format specifiers: * %%d, %%e, %%H, %%m, %%M, %%S, %%y, %%Y, %%, %%n and %%t. * * @param string The string describing the date * @param format The format of the string describing the date * @return A new, autoreleased OFDate with the specified date and time */ + (instancetype)dateWithDateString: (OFString*)string format: (OFString*)format; /*! * @brief Creates a new OFDate with the specified string in the specified * format. * * See the manpage for strftime for information on the format. * * @warning The format is currently limited to the following format specifiers: * %%d, %%e, %%H, %%m, %%M, %%S, %%y, %%Y, %%, %%n and %%t. * * @param string The string describing the date * @param format The format of the string describing the date * @return A new, autoreleased OFDate with the specified date and time */ + (instancetype)dateWithLocalDateString: (OFString*)string format: (OFString*)format; /*! * @brief Returns a date in the distant future. * * The date is system-dependant. * * @return A date in the distant future */ + (instancetype)distantFuture; /*! * @brief Returns a date in the distant past. * * The date is system-dependant. * * @return A date in the distant past */ + (instancetype)distantPast; /*! * @brief Initializes an already allocated OFDate with the specified date and * time since 1970-01-01T00:00:00Z. * * @param seconds The seconds since 1970-01-01T00:00:00Z * @return An initialized OFDate with the specified date and time */ - initWithTimeIntervalSince1970: (double)seconds; /*! * @brief Initializes an already allocated OFDate with the specified date and * time since now. * * @param seconds The seconds since now * @return An initialized OFDate with the specified date and time */ - initWithTimeIntervalSinceNow: (double)seconds; /*! * @brief Initializes an already allocated OFDate with the specified string in * the specified format. * * The time zone used is UTC. If a time zone is specified anyway, an * OFInvalidFormatException is thrown. See -[initWithLocalDateString:format:] * if you want to specify a time zone. * * See the manpage for strftime for information on the format. * * @warning The format is currently limited to the following format specifiers: * %%d, %%e, %%H, %%m, %%M, %%S, %%y, %%Y, %%, %%n and %%t. * * @param string The string describing the date * @param format The format of the string describing the date * @return An initialized OFDate with the specified date and time */ - initWithDateString: (OFString*)string format: (OFString*)format; /*! * @brief Initializes an already allocated OFDate with the specified string in * the specified format. * * If no time zone is specified, local time is assumed. * * See the manpage for strftime for information on the format. * * @warning The format is currently limited to the following format specifiers: * %%d, %%e, %%H, %%m, %%M, %%S, %%y, %%Y, %%, %%n and %%t. * * @param string The string describing the date * @param format The format of the string describing the date * @return An initialized OFDate with the specified date and time */ - initWithLocalDateString: (OFString*)string format: (OFString*)format; /*! * @brief Returns the microsecond of the date. * * @return The microsecond of the date */ - (uint32_t)microsecond; /*! * @brief Returns the second of the date. * * @return The second of the date */ - (uint8_t)second; /*! * @brief Returns the minute of the date. * * @return The minute of the date */ - (uint8_t)minute; /*! * @brief Returns the hour of the date. * * @return The hour of the date */ - (uint8_t)hour; /*! * @brief Returns the hour of the date in local time. * * @return The hour of the date in local time */ - (uint8_t)localHour; /*! * @brief Returns the day of the month. * * @return The day of the month of the date */ - (uint8_t)dayOfMonth; /*! * @brief Returns the day of the month of the date in local time. * * @return The day of the month of the date in local time */ - (uint8_t)localDayOfMonth; /*! * @brief Returns the month of the year of the date. * * @return The month of the year of the date */ - (uint8_t)monthOfYear; /*! * @brief Returns the month of the year of the date in local time. * * @return The month of the year of the date in local time */ - (uint8_t)localMonthOfYear; /*! * @brief Returns the year of the date. * * @return The year of the date */ - (uint16_t)year; /*! * @brief Returns the year of the date in local time. * * @return The year of the date in local time */ - (uint16_t)localYear; /*! * @brief Returns the day of the week of the date. * * @return The day of the week of the date */ - (uint8_t)dayOfWeek; /*! * @brief Returns the day of the week of the date in local time. * * @return The day of the week of the date in local time */ - (uint8_t)localDayOfWeek; /*! * @brief Returns the day of the year of the date. * * @return The day of the year of the date */ - (uint16_t)dayOfYear; /*! * @brief Returns the day of the year of the date in local time. * * @return The day of the year of the date in local time */ - (uint16_t)localDayOfYear; /*! * @brief Creates a string of the date with the specified format. * * See the manpage for strftime for information on the format. * * @param format The format for the date string * @return A new, autoreleased OFString */ - (OFString*)dateStringWithFormat: (OFConstantString*)format; /*! * @brief Creates a string of the local date with the specified format. * * See the manpage for strftime for information on the format. * * @param format The format for the date string * @return A new, autoreleased OFString */ - (OFString*)localDateStringWithFormat: (OFConstantString*)format; /*! * @brief Returns the earlier of the two dates. * * @param date Another date * @return The earlier date of the two dates */ - (OFDate*)earlierDate: (OFDate*)otherDate; /*! * @brief Returns the later of the two dates. * * @param date Another date * @return The later date of the two dates */ - (OFDate*)laterDate: (OFDate*)otherDate; /*! * @brief Returns the seconds since 1970-01-01T00:00:00Z. * * @return The seconds since 1970-01-01T00:00:00Z */ - (double)timeIntervalSince1970; /*! * @brief Returns the seconds the receiver is after the date. * * @param date Date date to generate the difference with receiver * @return The seconds the receiver is after the date. */ - (double)timeIntervalSinceDate: (OFDate*)otherDate; /*! * @brief Returns the seconds the receiver is in the future. * * @return The seconds the receiver is in the future */ - (double)timeIntervalSinceNow; /*! * @brief Creates a new date with the specified time interval added. * * @param seconds The seconds after the date * @return A new, autoreleased OFDate */ - (OFDate*)dateByAddingTimeInterval: (double)seconds; @end |
Modified src/OFDictionary.h from [180610d08f] to [c64d7b9e16].
︙ | ︙ | |||
34 35 36 37 38 39 40 | #ifdef OF_HAVE_BLOCKS typedef void (^of_dictionary_enumeration_block_t)(id key, id object, BOOL *stop); typedef BOOL (^of_dictionary_filter_block_t)(id key, id object); typedef id (^of_dictionary_map_block_t)(id key, id object); #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 | #ifdef OF_HAVE_BLOCKS typedef void (^of_dictionary_enumeration_block_t)(id key, id object, BOOL *stop); typedef BOOL (^of_dictionary_filter_block_t)(id key, id object); typedef id (^of_dictionary_map_block_t)(id key, id object); #endif /*! * @brief An abstract class for storing objects in a dictionary. * * Keys are copied and thus must conform to the OFCopying protocol. * * Note: Fast enumeration on a dictionary enumerates through the keys of the * dictionary. */ @interface OFDictionary: OFObject <OFCopying, OFMutableCopying, OFCollection, OFSerialization, OFJSONRepresentation> /*! * @brief Creates a new OFDictionary. * * @return A new autoreleased OFDictionary */ + (instancetype)dictionary; /*! * @brief Creates a new OFDictionary with the specified dictionary. * * @param dictionary An OFDictionary * @return A new autoreleased OFDictionary */ + (instancetype)dictionaryWithDictionary: (OFDictionary*)dictionary; /*! * @brief Creates a new OFDictionary with the specified key and object. * * @param key The key * @param object The object * @return A new autoreleased OFDictionary */ + (instancetype)dictionaryWithObject: (id)object forKey: (id)key; /*! * @brief Creates a new OFDictionary with the specified keys and objects. * * @param keys An array of keys * @param objects An array of objects * @return A new autoreleased OFDictionary */ + (instancetype)dictionaryWithObjects: (OFArray*)objects forKeys: (OFArray*)keys; /*! * @brief Creates a new OFDictionary with the specified keys and objects. * * @param keys An array of keys * @param objects An array of objects * @param count The number of objects in the arrays * @return A new autoreleased OFDictionary */ + (instancetype)dictionaryWithObjects: (id const*)objects forKeys: (id const*)keys count: (size_t)count; /*! * @brief Creates a new OFDictionary with the specified keys objects. * * @param firstKey The first key * @return A new autoreleased OFDictionary */ + (instancetype)dictionaryWithKeysAndObjects: (id)firstKey, ... OF_SENTINEL; /*! * @brief Initializes an already allocated OFDictionary. * * @return An initialized OFDictionary */ - init; /*! * @brief Initializes an already allocated OFDictionary with the specified * OFDictionary. * * @param dictionary An OFDictionary * @return An initialized OFDictionary */ - initWithDictionary: (OFDictionary*)dictionary; /*! * @brief Initializes an already allocated OFDictionary with the specified key * and object. * * @param key The key * @param object The object * @return A new initialized OFDictionary */ - initWithObject: (id)object forKey: (id)key; /*! * @brief Initializes an already allocated OFDictionary with the specified keys * and objects. * * @param keys An array of keys * @param objects An array of objects * @return A new initialized OFDictionary */ - initWithObjects: (OFArray*)objects forKeys: (OFArray*)keys; /*! * @brief Initializes an already allocated OFDictionary with the specified keys * and objects. * * @param keys An array of keys * @param objects An array of objects * @param count The number of objects in the arrays * @return A new initialized OFDictionary */ - initWithObjects: (id const*)objects forKeys: (id const*)keys count: (size_t)count; /*! * @brief Initializes an already allocated OFDictionary with the specified keys * and objects. * * @param firstKey The first key * @return A new initialized OFDictionary */ - initWithKeysAndObjects: (id)firstKey, ... OF_SENTINEL; /*! * @brief Initializes an already allocated OFDictionary with the specified key * and va_list. * * @param firstKey The first key * @param arguments A va_list of the other arguments * @return A new initialized OFDictionary */ - initWithKey: (id)firstKey arguments: (va_list)arguments; /*! * @brief Returns the object for the given key or nil if the key was not found. * * The returned object is <i>not</i> retained and autoreleased for performance * reasons! * * @param key The key whose object should be returned * @return The object for the given key or nil if the key was not found */ - (id)objectForKey: (id)key; - (id)objectForKeyedSubscript: (id)key; /*! * @brief Checks whether the dictionary contains an object with the specified * address. * * @param object The object which is checked for being in the dictionary * @return A boolean whether the dictionary contains an object with the * specified address. */ - (BOOL)containsObjectIdenticalTo: (id)object; /*! * @brief Returns an array of all keys. * * @return An array of all keys */ - (OFArray*)allKeys; /*! * @brief Returns an array of all objects. * * @return An array of all objects */ - (OFArray*)allObjects; /*! * @brief Returns an OFEnumerator to enumerate through the dictionary's keys. * * @return An OFEnumerator to enumerate through the dictionary's keys */ - (OFEnumerator*)keyEnumerator; #ifdef OF_HAVE_BLOCKS /*! * @brief Executes a block for each key / object pair. * * @param block The block to execute for each key / object pair. */ - (void)enumerateKeysAndObjectsUsingBlock: (of_dictionary_enumeration_block_t)block; /*! * @brief Creates a new dictionary, mapping each object using the specified * block. * * @param block A block which maps an object for each object * @return A new, autorelease OFDictionary */ - (OFDictionary*)mappedDictionaryUsingBlock: (of_dictionary_map_block_t)block; /*! * @brief Creates a new dictionary, only containing the objects for which the * block returns YES. * * @param block A block which determines if the object should be in the new * dictionary * @return A new, autoreleased OFDictionary */ - (OFDictionary*)filteredDictionaryUsingBlock: (of_dictionary_filter_block_t)block; #endif @end #import "OFMutableDictionary.h" |
︙ | ︙ |
Modified src/OFEnumerator.h from [24f3965058] to [8203f0ccdd].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFObject.h" @class OFEnumerator; | | | | | | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | * file. */ #import "OFObject.h" @class OFEnumerator; /*! * @brief A protocol for getting an enumerator for the object. */ @protocol OFEnumerating /*! * @brief Returns an OFEnumerator to enumerate through all objects of the * collection. * * @returns An OFEnumerator to enumerate through all objects of the collection */ - (OFEnumerator*)objectEnumerator; @end /*! * @brief A class which provides methods to enumerate through collections. */ @interface OFEnumerator: OFObject /*! * @brief Returns the next object. * * @return The next object */ - (id)nextObject; /*! * @brief Resets the enumerator, so the next call to nextObject returns the * first object again. */ - (void)reset; @end /* * This needs to be exactly like this because it's hardcoded in the compiler. * * We need this bad check to see if we already imported Cocoa, which defines * this as well. */ #define of_fast_enumeration_state_t NSFastEnumerationState #ifndef NSINTEGER_DEFINED /*! * @brief State information for fast enumerations. */ typedef struct of_fast_enumeration_state_t { /// Arbitrary state information for the enumeration unsigned long state; /// Pointer to a C array of objects to return __unsafe_unretained id *itemsPtr; /// Arbitrary state information to detect mutations unsigned long *mutationsPtr; /// Additional arbitrary state information unsigned long extra[5]; } of_fast_enumeration_state_t; #endif /*! * @brief A protocol for fast enumeration. * * The OFFastEnumeration protocol needs to be implemented by all classes * supporting fast enumeration. */ @protocol OFFastEnumeration /*! * @brief A method which is called by the code produced by the compiler when * doing a fast enumeration. * * @param state Context information for the enumeration * @param objects A pointer to an array where to put the objects * @param count The number of objects that can be stored at objects * @return The number of objects returned in objects or 0 when the enumeration * finished. */ - (int)countByEnumeratingWithState: (of_fast_enumeration_state_t*)state objects: (__unsafe_unretained id*)objects count: (int)count; @end |
Modified src/OFFile.h from [9ede7ee4ac] to [296a9224ed].
︙ | ︙ | |||
32 33 34 35 36 37 38 | extern "C" { #endif extern void of_log(OFConstantString*, ...); #ifdef __cplusplus } #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 | extern "C" { #endif extern void of_log(OFConstantString*, ...); #ifdef __cplusplus } #endif /*! * @brief A class which provides functions to read, write and manipulate files. */ @interface OFFile: OFSeekableStream { int fd; BOOL closable; BOOL atEndOfStream; } /*! * @brief Creates a new OFFile with the specified path and mode. * * @param path The path to the file to open as a string * @param mode The mode in which the file should be opened as a string * @return A new autoreleased OFFile */ + (instancetype)fileWithPath: (OFString*)path mode: (OFString*)mode; /*! * @brief Creates a new OFFile with the specified file descriptor. * * @param fileDescriptor A file descriptor, returned from for example open(). * It is not closed when the OFFile object is deallocated! * @return A new autoreleased OFFile */ + (instancetype)fileWithFileDescriptor: (int)fileDescriptor; /*! * @brief Returns the path fo the current working directory. * * @return The path of the current working directory */ + (OFString*)currentDirectoryPath; /*! * @brief Checks whether a file exists at the specified path. * * @param path The path to check * @return A boolean whether there is a file at the specified path */ + (BOOL)fileExistsAtPath: (OFString*)path; /*! * @brief Checks whether a directory exists at the specified path. * * @param path The path to check * @return A boolean whether there is a directory at the specified path */ + (BOOL)directoryExistsAtPath: (OFString*)path; /*! * @brief Creates a directory at the specified path. * * @param path The path of the directory */ + (void)createDirectoryAtPath: (OFString*)path; /*! * @brief Creates a directory at the specified path. * * @param path The path of the directory * @param createParents Whether to create the parents of the directory */ + (void)createDirectoryAtPath: (OFString*)path createParents: (BOOL)createParents; /*! * @brief Returns an array with the files in the specified directory. * * @param path The path of the directory * @return An array of OFStrings with the files at the specified path */ + (OFArray*)filesInDirectoryAtPath: (OFString*)path; /*! * @brief Changes the current working directory. * * @param path The new directory to change to */ + (void)changeToDirectoryAtPath: (OFString*)path; /*! * @brief Returns the size of the specified file. * * @return The size of the specified file */ + (off_t)sizeOfFileAtPath: (OFString*)path; /*! * @brief Returns the date of the last modification of the file. * * @return The date of the last modification of the file */ + (OFDate*)modificationDateOfFileAtPath: (OFString*)path; #ifndef _PSP /*! * @brief Changes the mode of a file. * * Only changes read-only flag on Windows. * * @param path The path to the file of which the mode should be changed as a * string * @param mode The new mode for the file */ + (void)changeModeOfFileAtPath: (OFString*)path mode: (mode_t)mode; #endif #if !defined(_WIN32) && !defined(_PSP) /*! * @brief Changes the owner of a file. * * Not available on Windows. * * @param path The path to the file of which the owner should be changed as a * string * @param owner The new owner for the file * @param group The new group for the file */ + (void)changeOwnerOfFileAtPath: (OFString*)path owner: (OFString*)owner group: (OFString*)group; #endif /*! * @brief Copies a file. * * @param source The file to copy * @param destination The destination path */ + (void)copyFileAtPath: (OFString*)source toPath: (OFString*)destination; /*! * @brief Renames a file. * * @param source The file to rename * @param destination The new name */ + (void)renameFileAtPath: (OFString*)source toPath: (OFString*)destination; /*! * @brief Deletes a file. * * @param path The path to the file of which should be deleted as a string */ + (void)deleteFileAtPath: (OFString*)path; /*! * @brief Deletes an empty directory. * * @param path The path to the directory which should be deleted as a string */ + (void)deleteDirectoryAtPath: (OFString*)path; #ifndef _WIN32 /*! * @brief Creates a hard link for a file. * * Not available on Windows. * * @param source The path to the file of which should be linked as a string * @param destination The path to where the file should be linked as a string */ + (void)linkFileAtPath: (OFString*)source toPath: (OFString*)destination; #endif #if !defined(_WIN32) && !defined(_PSP) /*! * @brief Creates a symbolink link for a file. * * Not available on Windows. * * @param source The path to the file of which should be symlinked as a string * @param destination The path to where the file should be symlinked as a string */ + (void)symlinkFileAtPath: (OFString*)source toPath: (OFString*)destination; #endif /*! * @brief Initializes an already allocated OFFile. * * @param path The path to the file to open as a string * @param mode The mode in which the file should be opened as a string * @return An initialized OFFile */ - initWithPath: (OFString*)path mode: (OFString*)mode; /*! * @brief Initializes an already allocated OFFile. * * @param fileDescriptor A file descriptor, returned from for example open(). * It is not closed when the OFFile object is deallocated! */ - initWithFileDescriptor: (int)fileDescriptor; @end #ifdef __cplusplus extern "C" { |
︙ | ︙ |
Modified src/OFHTTPRequest.h from [afa9ff2eb3] to [26ed4a79d0].
︙ | ︙ | |||
26 27 28 29 30 31 32 | typedef enum of_http_request_type_t { OF_HTTP_REQUEST_TYPE_GET, OF_HTTP_REQUEST_TYPE_POST, OF_HTTP_REQUEST_TYPE_HEAD } of_http_request_type_t; | | | | | | | | | | | | | | | | | | | | | | | | | 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 | typedef enum of_http_request_type_t { OF_HTTP_REQUEST_TYPE_GET, OF_HTTP_REQUEST_TYPE_POST, OF_HTTP_REQUEST_TYPE_HEAD } of_http_request_type_t; /*! * @brief A delegate for OFHTTPRequests. */ #ifndef OF_HTTP_REQUEST_M @protocol OFHTTPRequestDelegate <OFObject> #else @protocol OFHTTPRequestDelegate #endif #ifdef OF_HAVE_OPTIONAL_PROTOCOLS @optional #endif /*! * @brief A callback which is called when an OFHTTPRequest creates a socket. * * This is useful if the connection is using HTTPS and the server requires a * client certificate. This callback can then be used to tell the TLS socket * about the certificate. Another use case is to tell the socket about a SOCKS5 * proxy it should use for this connection. * * @param request The OFHTTPRequest that created a socket * @param socket The socket created by the OFHTTPRequest */ - (void)request: (OFHTTPRequest*)request didCreateSocket: (OFTCPSocket*)socket; /*! * @brief A callback which is called when an OFHTTPRequest received headers. * * @param request The OFHTTPRequest which received the headers * @param headers The headers received * @param statusCode The status code received */ - (void)request: (OFHTTPRequest*)request didReceiveHeaders: (OFDictionary*)headers withStatusCode: (int)statusCode; /*! * @brief A callback which is called when an OFHTTPRequest received data. * * This is useful for example if you want to update a status display. * * @param request The OFHTTPRequest which received data * @param data The data the OFHTTPRequest received * @param length The length of the data received, in bytes */ - (void)request: (OFHTTPRequest*)request didReceiveData: (const char*)data withLength: (size_t)length; /*! * @brief A callback which is called when an OFHTTPRequest will follow a * redirect. * * If you want to get the headers and data for each redirect, set the number of * redirects to 0 and perform a new OFHTTPRequest for each redirect. However, * this callback will not be called then and you have to look at the status code * to detect a redirect. * * This callback will only be called if the OFHTTPRequest will follow a * redirect. If the maximum number of redirects has been reached already, this * callback will not be called. * * @param request The OFHTTPRequest which will follow a redirect * @param URL The URL to which it will follow a redirect * @return A boolean whether the OFHTTPRequest should follow the redirect */ - (BOOL)request: (OFHTTPRequest*)request willFollowRedirectTo: (OFURL*)URL; @end /*! * @brief A class for storing and performing HTTP requests. */ @interface OFHTTPRequest: OFObject { OFURL *URL; of_http_request_type_t requestType; OFString *queryString; OFDictionary *headers; |
︙ | ︙ | |||
120 121 122 123 124 125 126 | @property (copy) OFString *queryString; @property (copy) OFDictionary *headers; @property BOOL redirectsFromHTTPSToHTTPAllowed; @property (assign) id <OFHTTPRequestDelegate> delegate; @property BOOL storesData; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 314 315 316 | @property (copy) OFString *queryString; @property (copy) OFDictionary *headers; @property BOOL redirectsFromHTTPSToHTTPAllowed; @property (assign) id <OFHTTPRequestDelegate> delegate; @property BOOL storesData; #endif /*! * @brief Creates a new OFHTTPRequest. * * @return A new, autoreleased OFHTTPRequest */ + (instancetype)request; /*! * @brief Creates a new OFHTTPRequest with the specified URL. * * @param URL The URL for the request * @return A new, autoreleased OFHTTPRequest */ + (instancetype)requestWithURL: (OFURL*)URL; /*! * @brief Initializes an already allocated OFHTTPRequest with the specified URL. * * @param URL The URL for the request * @return An initialized OFHTTPRequest */ - initWithURL: (OFURL*)URL; /*! * @brief Sets the URL of the HTTP request. * * @param URL The URL of the HTTP request */ - (void)setURL: (OFURL*)URL; /*! * @brief Returns the URL of the HTTP request. * * @return The URL of the HTTP request */ - (OFURL*)URL; /*! * @brief Sets the request type of the HTTP request. * * @param requestType The request type of the HTTP request */ - (void)setRequestType: (of_http_request_type_t)requestType; /*! * @brief Returns the request type of the HTTP request. * * @return The request type of the HTTP request */ - (of_http_request_type_t)requestType; /*! * @brief Sets the query string of the HTTP request. * * @param queryString The query string of the HTTP request */ - (void)setQueryString: (OFString*)queryString; /*! * @brief Returns the query string of the HTTP request. * * @return The query string of the HTTP request */ - (OFString*)queryString; /*! * @brief Sets a dictionary with headers for the HTTP request. * * @param headers A dictionary with headers for the HTTP request */ - (void)setHeaders: (OFDictionary*)headers; /*! * @brief Retrusn a dictionary with headers for the HTTP request. * * @return A dictionary with headers for the HTTP request. */ - (OFDictionary*)headers; /*! * @brief Sets whether redirects from HTTPS to HTTP are allowed. * * @param allowed Whether redirects from HTTPS to HTTP are allowed */ - (void)setRedirectsFromHTTPSToHTTPAllowed: (BOOL)allowed; /*! * @brief Returns whether redirects from HTTPS to HTTP will be allowed * * @return Whether redirects from HTTPS to HTTP will be allowed */ - (BOOL)redirectsFromHTTPSToHTTPAllowed; /*! * @brief Sets the delegate of the HTTP request. * * @param delegate The delegate of the HTTP request */ - (void)setDelegate: (id <OFHTTPRequestDelegate>)delegate; /*! * @brief Returns the delegate of the HTTP reqeust. * * @return The delegate of the HTTP request */ - (id <OFHTTPRequestDelegate>)delegate; /*! * @brief Sets whether an OFDataArray with the data should be created. * * Setting this to NO is only useful if you are using the delegate to handle the * data. * * @param storesData Whether to store the data in an OFDataArray */ - (void)setStoresData: (BOOL)storesData; /*! * @brief Returns whether an OFDataArray with the date should be created. * * @return Whether an OFDataArray with the data should be created */ - (BOOL)storesData; /*! * @brief Performs the HTTP request and returns an OFHTTPRequestResult. * * @return An OFHTTPRequestResult with the result of the HTTP request */ - (OFHTTPRequestResult*)perform; /*! * @brief Performs the HTTP request and returns an OFHTTPRequestResult. * * @param redirects The maximum number of redirects after which no further * attempt is done to follow the redirect, but instead the * redirect is returned as an OFHTTPRequest * @return An OFHTTPRequestResult with the result of the HTTP request */ - (OFHTTPRequestResult*)performWithRedirects: (size_t)redirects; @end /*! * @brief A class for storing the result of an HTTP request. */ @interface OFHTTPRequestResult: OFObject { short statusCode; OFDataArray *data; OFDictionary *headers; } #ifdef OF_HAVE_PROPERTIES @property (readonly) short statusCode; @property (readonly, copy) OFDictionary *headers; @property (readonly, retain) OFDataArray *data; #endif - initWithStatusCode: (short)status headers: (OFDictionary*)headers data: (OFDataArray*)data; /*! * @brief Returns the state code of the result of the HTTP request. * * @return The status code of the result of the HTTP request */ - (short)statusCode; /*! * @brief Returns the headers of the result of the HTTP request. * * @return The headers of the result of the HTTP request */ - (OFDictionary*)headers; /*! * @brief Returns the data received for the HTTP request. * * Returns nil if storesData was set to NO. * * @return The data received for the HTTP request */ - (OFDataArray*)data; @end @interface OFObject (OFHTTPRequestDelegate) <OFHTTPRequestDelegate> @end extern Class of_http_request_tls_socket_class; |
Modified src/OFHash.h from [51a74f2d37] to [694ee414f3].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFObject.h" | | | | | | | | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 | * 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. */ #import "OFObject.h" /*! * @brief A base class for classes providing hash functions. */ @interface OFHash: OFObject { BOOL calculated; } #ifdef OF_HAVE_PROPERTIES @property (readonly, getter=isCalculated) BOOL calculated; #endif /*! * @brief Creates a new hash. * * @return A new autoreleased OFHash */ + (instancetype)hash; /*! * @brief Returns the digest size of the hash, in bytes. * * @return The digest size of the hash, in bytes */ + (size_t)digestSize; /*! * @brief Returns the block size of the hash, in bytes. * * @return The block size of the hash, in bytes */ + (size_t)blockSize; /*! * @brief Adds a buffer to the hash to be calculated. * * @param buffer The buffer which should be included into the calculation * @param length The length of the buffer */ - (void)updateWithBuffer: (const void*)buffer length: (size_t)length; /*! * @brief Returns a buffer containing the hash. * * The size of the buffer depends on the hash used. The buffer is part of the * receiver's memory pool. * * @return A buffer containing the hash */ - (uint8_t*)digest OF_RETURNS_INNER_POINTER; /*! * @brief Returns a boolean whether the hash has already been calculated. * * @return A boolean whether the hash has already been calculated */ - (BOOL)isCalculated; @end |
Modified src/OFIntrospection.h from [2314d4ab1a] to [b853dc8c4c].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "OFObject.h" @class OFString; @class OFArray; @class OFMutableArray; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 | #import "OFObject.h" @class OFString; @class OFArray; @class OFMutableArray; /*! * @brief A class for describing a method. */ @interface OFMethod: OFObject { SEL selector; OFString *name; const char *typeEncoding; } #ifdef OF_HAVE_PROPERTIES @property (readonly) SEL selector; @property (readonly, copy) OFString *name; @property (readonly) const char *typeEncoding; #endif /*! * @brief Returns the selector of the method. * * @return The selector of the method */ - (SEL)selector; /*! * @brief Returns the name of the method. * * @return The name of the method */ - (OFString*)name; /*! * @brief Returns the type encoding for the method. * * @return The type encoding for the method */ - (const char*)typeEncoding; @end /*! * @brief A class for describing an instance variable. */ @interface OFInstanceVariable: OFObject { OFString *name; const char *typeEncoding; ptrdiff_t offset; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy) OFString *name; @property (readonly) ptrdiff_t offset; @property (readonly) const char *typeEncoding; #endif /*! * @brief Returns the name of the instance variable. * * @return The name of the instance variable */ - (OFString*)name; /*! * @brief Returns the offset of the instance variable. * * @return The offset of the instance variable */ - (ptrdiff_t)offset; /*! * @brief Returns the type encoding for the instance variable. * * @return The type encoding for the instance variable */ - (const char*)typeEncoding; @end /*! * @brief A class for introspecting classes. */ @interface OFIntrospection: OFObject { OFMutableArray *classMethods; OFMutableArray *instanceMethods; OFMutableArray *instanceVariables; #ifdef OF_HAVE_PROPERTIES OFMutableArray *properties; #endif } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy) OFArray *classMethods; @property (readonly, copy) OFArray *instanceMethods; @property (readonly, copy) OFArray *instanceVariables; #endif /*! * @brief Creates a new introspection for the specified class. * * @return A new, autoreleased introspection for the specified class */ + (instancetype)introspectionWithClass: (Class)class_; /*! * @brief Initializes an already allocated OFIntrospection with the specified * class. * * @return An initialized OFIntrospection */ - initWithClass: (Class)class_; /*! * @brief Returns the class methods of the class. * * @return An array of OFMethods */ - (OFArray*)classMethods; /*! * @brief Returns the instance methods of the class. * * @return An array of OFMethods */ - (OFArray*)instanceMethods; /*! * @brief Returns the instance variables of the class. * * @return An array of OFInstanceVariables */ - (OFArray*)instanceVariables; /* TODO: protocols */ @end |
Modified src/OFJSONRepresentation.h from [88b187db64] to [0c0aa14181].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ @class OFString; | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 | * 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. */ @class OFString; /*! * @brief A protocol implemented by classes that support encoding to a JSON * representation. * * @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 /*! * @brief Returns the JSON representation of the object as a string. * * @return The JSON representation of the object as a string. */ - (OFString*)JSONRepresentation; @end |
Modified src/OFList.h from [d4ed52a4cc] to [f7c36c6b33].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "OFObject.h" #import "OFCollection.h" #import "OFEnumerator.h" #import "OFSerialization.h" typedef struct of_list_object_t of_list_object_t; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 | #import "OFObject.h" #import "OFCollection.h" #import "OFEnumerator.h" #import "OFSerialization.h" typedef struct of_list_object_t of_list_object_t; /*! * @brief A list object. * * A struct that contains a pointer to the next list object, the previous list * object and the object. */ struct of_list_object_t { /// A pointer to the next list object in the list of_list_object_t *next; /// A pointer to the previous list object in the list of_list_object_t *previous; /// The object for the list object __unsafe_unretained id object; }; /*! * @brief A class which provides easy to use double-linked lists. */ @interface OFList: OFObject <OFCopying, OFCollection, OFSerialization> { of_list_object_t *firstListObject; of_list_object_t *lastListObject; size_t count; unsigned long mutations; } #ifdef OF_HAVE_PROPERTIES @property (readonly) of_list_object_t *firstListObject; @property (readonly) of_list_object_t *lastListObject; #endif /*! * @brief Creates a new OFList. * * @return A new autoreleased OFList */ + (instancetype)list; /*! * @brief Returns the first list object of the list. * * @return The first list object of the list */ - (of_list_object_t*)firstListObject; /*! * @brief Retrusn the last list object of the list. * * @return The last list object of the list */ - (of_list_object_t*)lastListObject; /*! * @brief Appends an object to the list. * * @param object The object to append * @return An of_list_object_t, needed to identify the object inside the list. * For example, if you want to remove an object from the list, you need * its of_list_object_t. */ - (of_list_object_t*)appendObject: (id)object; /*! * @brief Prepends an object to the list. * * @param object The object to prepend * @return An of_list_object_t, needed to identify the object inside the list. * For example, if you want to remove an object from the list, you need * its of_list_object_t. */ - (of_list_object_t*)prependObject: (id)object; /*! * @brief Inserts an object before another list object. * * @param object The object to insert * @param listObject The of_list_object_t of the object before which it should * be inserted * @return An of_list_object_t, needed to identify the object inside the list. * For example, if you want to remove an object from the list, you need * its of_list_object_t. */ - (of_list_object_t*)insertObject: (id)object beforeListObject: (of_list_object_t*)listObject; /*! * @brief Inserts an object after another list object. * * @param object The object to insert * @param listObject The of_list_object_t of the object after which it should be * inserted * @return An of_list_object_t, needed to identify the object inside the list. * For example, if you want to remove an object from the list, you need * its of_list_object_t. */ - (of_list_object_t*)insertObject: (id)object afterListObject: (of_list_object_t*)listObject; /*! * @brief Removes the object with the specified list object from the list. * * @param listObject The list object returned by append / prepend */ - (void)removeListObject: (of_list_object_t*)listObject; /*! * @brief Checks whether the list contains an object with the specified address. * * @param object The object which is checked for being in the list * @return A boolean whether the list contains an object with the specified * address. */ - (BOOL)containsObjectIdenticalTo: (id)object; /*! * @brief Returns the first object of the list or nil. * * The returned object is <i>not</i> retained and autoreleased for performance * reasons! * * @return The first object of the list or nil */ - (id)firstObject; /*! * @brief Returns the last object of the list or nil. * * The returned object is <i>not</i> retained and autoreleased for performance * reasons! * * @return The last object of the list or nil */ - (id)lastObject; /*! * @brief Removes all objects from the list. */ - (void)removeAllObjects; @end @interface OFListEnumerator: OFEnumerator { OFList *list; |
︙ | ︙ |
Modified src/OFLocking.h from [0ad6f630ce] to [5f7cf70e41].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFObject.h" | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | * 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. */ #import "OFObject.h" /*! * @brief A protocol for locks. */ @protocol OFLocking <OFObject> /*! * @brief Locks the lock. */ - (void)lock; /*! * @brief Tries to lock the lock. * * @return A boolean whether the lock could be locked */ - (BOOL)tryLock; /*! * @brief Unlocks the lock. */ - (void)unlock; @end |
Modified src/OFMD5Hash.h from [a6c35b82ad] to [b8a9b23fd3].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFHash.h" #define OF_MD5_DIGEST_SIZE 16 | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | * file. */ #import "OFHash.h" #define OF_MD5_DIGEST_SIZE 16 /*! * @brief A class which provides functions to create an MD5 hash. */ @interface OFMD5Hash: OFHash { uint32_t buffer[4]; uint32_t bits[2]; union { uint8_t u8[64]; |
︙ | ︙ |
Modified src/OFMutableArray.h from [9c7f745e9f] to [3b79729549].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "OFArray.h" #ifdef OF_HAVE_BLOCKS typedef id (^of_array_replace_block_t)(id obj, size_t idx, BOOL *stop); #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 | #import "OFArray.h" #ifdef OF_HAVE_BLOCKS typedef id (^of_array_replace_block_t)(id obj, size_t idx, BOOL *stop); #endif /*! * @brief An abstract class for storing, adding and removing objects in anr * array. */ @interface OFMutableArray: OFArray /*! * @brief Adds an object to the end of the array. * * @param object An object to add */ - (void)addObject: (id)object; /*! * @brief Adds the objects from the specified OFArray to the end of the array. * * @brief array An array of objects to add */ - (void)addObjectsFromArray: (OFArray*)array; /*! * @brief Inserts an object to the OFArray at the specified index. * * @param object An object to add * @param index The index where the object should be inserted */ - (void)insertObject: (id)object atIndex: (size_t)index; /*! * @brief Inserts the objects from the specified OFArray at the specified index. * * @param array An array of objects * @param index The index where the objects should be inserted */ - (void)insertObjectsFromArray: (OFArray*)array atIndex: (size_t)index; /*! * @brief Replaces the first object equivalent to the specified object with the * other specified object. * * @param oldObject The object to replace * @param newObject The replacement object */ - (void)replaceObject: (id)oldObject withObject: (id)newObject; /*! * @brief Replaces the object at the specified index with the specified object. * * @param index The index of the object to replace * @param object The replacement object */ - (void)replaceObjectAtIndex: (size_t)index withObject: (id)object; - (void)setObject: (id)object atIndexedSubscript: (size_t)index; /*! * @brief Replaces the first object that has the same address as the specified * object with the other specified object. * * @param oldObject The object to replace * @param newObject The replacement object */ - (void)replaceObjectIdenticalTo: (id)oldObject withObject: (id)newObject; /*! * @brief Removes the first object equivalent to the specified object. * * @param object The object to remove */ - (void)removeObject: (id)object; /*! * @brief Removes the first object that has the same address as the specified * object. * * @param object The object to remove */ - (void)removeObjectIdenticalTo: (id)object; /*! * @brief Removes the object at the specified index. * * @param index The index of the object to remove */ - (void)removeObjectAtIndex: (size_t)index; /*! * @brief Removes the object in the specified range. * * @param range The range of the objects to remove */ - (void)removeObjectsInRange: (of_range_t)range; /*! * @brief Removes the last object. */ - (void)removeLastObject; /*! * @brief Removes all objects. */ - (void)removeAllObjects; #ifdef OF_HAVE_BLOCKS /*! * @brief Replaces each object with the object returned by the block. * * @param block The block which returns a new object for each object */ - (void)replaceObjectsUsingBlock: (of_array_replace_block_t)block; #endif /*! * @brief Exchange the objects at the specified indices. * * @param index1 The index of the first object to exchange * @param index2 The index of the second object to exchange */ - (void)exchangeObjectAtIndex: (size_t)index1 withObjectAtIndex: (size_t)index2; /*! * @brief Sorts the array. */ - (void)sort; /*! * @brief Reverts the order of the objects in the array. */ - (void)reverse; /*! * @brief Converts the mutable array to an immutable array. */ - (void)makeImmutable; @end |
Modified src/OFMutableDictionary.h from [e2f5552214] to [0b8942ce10].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "OFDictionary.h" #ifdef OF_HAVE_BLOCKS typedef id (^of_dictionary_replace_block_t)(id key, id object, BOOL *stop); #endif | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | #import "OFDictionary.h" #ifdef OF_HAVE_BLOCKS typedef id (^of_dictionary_replace_block_t)(id key, id object, BOOL *stop); #endif /*! * @brief An abstract class for storing and changing objects in a dictionary. */ @interface OFMutableDictionary: OFDictionary /*! * @brief Sets an object for a key. * * A key can be any object that conforms to the OFCopying protocol. * * @param key The key to set * @param object The object to set the key to */ - (void)setObject: (id)object forKey: (id)key; - (void)setObject: (id)object forKeyedSubscript: (id)key; /*! * @brief Removes the object for the specified key from the dictionary. * * @param key The key whose object should be removed */ - (void)removeObjectForKey: (id)key; #ifdef OF_HAVE_BLOCKS /*! * @brief Replaces each object with the object returned by the block. * * @param block The block which returns a new object for each object */ - (void)replaceObjectsUsingBlock: (of_dictionary_replace_block_t)block; #endif /*! * @brief Converts the mutable dictionary to an immutable dictionary. */ - (void)makeImmutable; @end |
Modified src/OFMutableSet.h from [7b8b5bfbbc] to [df687701d6].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFSet.h" | | | | | | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 | * 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. */ #import "OFSet.h" /*! * @brief An abstract class for a mutable unordered set of unique objects. */ @interface OFMutableSet: OFSet /*! * @brief Adds the specified object to the set. * * @param object The object to add to the set */ - (void)addObject: (id)object; /*! * @brief Removes the specified object from the set. * * @param object The object to remove from the set */ - (void)removeObject: (id)object; /*! * @brief Removes all objects from the receiver that are in the specified set. * * @param set The set whose objects will be removed from the receiver */ - (void)minusSet: (OFSet*)set; /*! * @brief Removes all objects from the receiver that are not in the specified * set. * * @param set The set to intersect */ - (void)intersectSet: (OFSet*)set; /*! * @brief Creates a union of the receiver and the specified set. * * @param set The set to create the union with */ - (void)unionSet: (OFSet*)set; /*! * @brief Converts the mutable set to an immutable set. */ - (void)makeImmutable; @end |
Modified src/OFMutableString.h from [2c3f1dcc50] to [37a957d0d8].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFString.h" | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 | * 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. */ #import "OFString.h" /*! * @brief A class for storing and modifying strings. */ @interface OFMutableString: OFString /*! * @brief Sets the character at the specified index. * * @param character The character to set * @param index The index where to set the character */ - (void)setCharacter: (of_unichar_t)character atIndex: (size_t)index; /*! * @brief Appends a UTF-8 encoded C string to the OFMutableString. * * @param UTF8String A UTF-8 encoded C string to append */ - (void)appendUTF8String: (const char*)UTF8String; /*! * @brief Appends a UTF-8 encoded C string with the specified length to the * OFMutableString. * * @param UTF8String A UTF-8 encoded C string to append * @param UTF8StringLength The length of the UTF-8 encoded C string */ - (void)appendUTF8String: (const char*)UTF8String length: (size_t)UTF8StringLength; /*! * @brief Appends a C string with the specified encoding to the OFMutableString. * * @param cString A C string to append * @param encoding The encoding of the C string */ - (void)appendCString: (const char*)cString encoding: (of_string_encoding_t)encoding; /*! * @brief Appends a C string with the specified encoding and length to the * OFMutableString. * * @param cString A C string to append * @param encoding The encoding of the C string * @param cStringLength The length of the UTF-8 encoded C string */ - (void)appendCString: (const char*)cString encoding: (of_string_encoding_t)encoding length: (size_t)cStringLength; /*! * @brief Appends another OFString to the OFMutableString. * * @param string An OFString to append */ - (void)appendString: (OFString*)string; /*! * @brief Appends a formatted string to the OFMutableString. * * See printf for the format syntax. As an addition, %@ is available as format * specifier for objects. * * @param format A format string which generates the string to append */ - (void)appendFormat: (OFConstantString*)format, ...; /*! * @brief Appends a formatted string to the OFMutableString. * * See printf for the format syntax. As an addition, %@ is available as format * specifier for objects. * * @param format A format string which generates the string to append * @param arguments The arguments used in the format string */ - (void)appendFormat: (OFConstantString*)format arguments: (va_list)arguments; /*! * @brief Prepends another OFString to the OFMutableString. * * @param string An OFString to prepend */ - (void)prependString: (OFString*)string; /*! * @brief Reverses the string. */ - (void)reverse; /*! * @brief Converts the string to uppercase. */ - (void)uppercase; /*! * @brief Converts the string to lowercase. */ - (void)lowercase; /*! * @brief Capitalizes the string. * * @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! */ - (void)capitalize; /*! * @brief Inserts a string at the specified index. * * @param string The string to insert * @param index The index */ - (void)insertString: (OFString*)string atIndex: (size_t)index; /*! * @brief Deletes the characters at the specified range. * * @param range The range of the characters which should be removed */ - (void)deleteCharactersInRange: (of_range_t)range; /*! * @brief Replaces the characters at the specified range. * * @param range The range of the characters which should be replaced * @param replacement The string to the replace the characters with */ - (void)replaceCharactersInRange: (of_range_t)range withString: (OFString*)replacement; /*! * @brief Replaces all occurrences of a string with another string. * * @param string The string to replace * @param replacement The string with which it should be replaced */ - (void)replaceOccurrencesOfString: (OFString*)string withString: (OFString*)replacement; /*! * @brief Replaces all occurrences of a string in the specified range with * another string. * * @param string The string to replace * @param replacement The string with which it should be replaced * @param options Options modifying search behaviour * Possible values: None yet * @param range The range in which the string should be replaced */ - (void)replaceOccurrencesOfString: (OFString*)string withString: (OFString*)replacement options: (int)options range: (of_range_t)range; /*! * @brief Deletes all whitespaces at the beginning of the string. */ - (void)deleteLeadingWhitespaces; /*! * @brief Deletes all whitespaces at the end of the string. */ - (void)deleteTrailingWhitespaces; /*! * @brief Deletes all whitespaces at the beginning and the end of the string. */ - (void)deleteEnclosingWhitespaces; /*! * @brief Converts the mutable string to an immutable string. */ - (void)makeImmutable; @end |
Modified src/OFMutex.h from [2f19637b86] to [9e5b4524e5].
︙ | ︙ | |||
15 16 17 18 19 20 21 | */ #import "OFObject.h" #import "OFLocking.h" #import "threading.h" | | | | | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | */ #import "OFObject.h" #import "OFLocking.h" #import "threading.h" /*! * @brief A class for creating mutual exclusions. */ @interface OFMutex: OFObject <OFLocking> { of_mutex_t mutex; BOOL initialized; } /*! * @brief Creates a new mutex. * * @return A new autoreleased mutex. */ + (instancetype)mutex; @end |
Modified src/OFNull.h from [c231d998aa] to [b64619ec77].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFObject.h" #import "OFSerialization.h" #import "OFJSONRepresentation.h" | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 | * file. */ #import "OFObject.h" #import "OFSerialization.h" #import "OFJSONRepresentation.h" /*! * @brief A class for representing null values in collections. */ @interface OFNull: OFObject <OFCopying, OFSerialization, OFJSONRepresentation> /*! * @brief Returns an OFNull singleton. * * @return An OFNull singleton */ + (OFNull*)null; @end |
Modified src/OFNumber.h from [325eff17e3] to [40cf62c75a].
︙ | ︙ | |||
23 24 25 26 27 28 29 | #include <sys/types.h> #import "OFObject.h" #import "OFSerialization.h" #import "OFJSONRepresentation.h" | | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | #include <sys/types.h> #import "OFObject.h" #import "OFSerialization.h" #import "OFJSONRepresentation.h" /*! * @brief The type of a number. */ typedef enum of_number_type_t { OF_NUMBER_BOOL = 0x01, OF_NUMBER_UCHAR = 0x02, OF_NUMBER_USHORT = 0x03, OF_NUMBER_UINT = 0x04, OF_NUMBER_ULONG = 0x05, |
︙ | ︙ | |||
56 57 58 59 60 61 62 | OF_NUMBER_INTMAX = OF_NUMBER_UINTMAX | OF_NUMBER_SIGNED, OF_NUMBER_PTRDIFF = 0x0D | OF_NUMBER_SIGNED, OF_NUMBER_INTPTR = 0x0E | OF_NUMBER_SIGNED, OF_NUMBER_FLOAT = 0x20, OF_NUMBER_DOUBLE = 0x40 | OF_NUMBER_FLOAT, } of_number_type_t; | | | | 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | OF_NUMBER_INTMAX = OF_NUMBER_UINTMAX | OF_NUMBER_SIGNED, OF_NUMBER_PTRDIFF = 0x0D | OF_NUMBER_SIGNED, OF_NUMBER_INTPTR = 0x0E | OF_NUMBER_SIGNED, OF_NUMBER_FLOAT = 0x20, OF_NUMBER_DOUBLE = 0x40 | OF_NUMBER_FLOAT, } of_number_type_t; /*! * @brief Provides a way to store a number in an object. */ @interface OFNumber: OFObject <OFCopying, OFComparing, OFSerialization, OFJSONRepresentation> { union of_number_value { BOOL bool_; signed char char_; |
︙ | ︙ | |||
97 98 99 100 101 102 103 | of_number_type_t type; } #ifdef OF_HAVE_PROPERTIES @property (readonly) of_number_type_t type; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 | of_number_type_t type; } #ifdef OF_HAVE_PROPERTIES @property (readonly) of_number_type_t type; #endif /*! * @brief Creates a new OFNumber with the specified BOOL. * * @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. * * @param char_ A signed char which the OFNumber should contain * @return A new autoreleased OFNumber */ + (instancetype)numberWithChar: (signed char)char_; /*! * @brief Creates a new OFNumber with the specified signed short. * * @param short_ A signed short which the OFNumber should contain * @return A new autoreleased OFNumber */ + (instancetype)numberWithShort: (signed short)short_; /*! * @brief Creates a new OFNumber with the specified signed int. * * @param int_ A signed int which the OFNumber should contain * @return A new autoreleased OFNumber */ + (instancetype)numberWithInt: (signed int)int_; /*! * @brief Creates a new OFNumber with the specified signed long. * * @param long_ A signed long which the OFNumber should contain * @return A new autoreleased OFNumber */ + (instancetype)numberWithLong: (signed long)long_; /*! * @brief Creates a new OFNumber with the specified unsigned char. * * @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. * * @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. * * @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. * * @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 int8_t. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @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. * * @param double_ A double which the OFNumber should contain * @return A new autoreleased OFNumber */ + (instancetype)numberWithDouble: (double)double_; /*! * @brief Initializes an already allocated OFNumber with the specified BOOL. * * @param bool_ A BOOL which the OFNumber should contain * @return An initialized OFNumber */ - initWithBool: (BOOL)bool_; /*! * @brief Initializes an already allocated OFNumber with the specified signed * char. * * @param char_ A signed char which the OFNumber should contain * @return An initialized OFNumber */ - initWithChar: (signed char)char_; /*! * @brief Initializes an already allocated OFNumber with the specified signed * short. * * @param short_ A signed short which the OFNumber should contain * @return An initialized OFNumber */ - initWithShort: (signed short)short_; /*! * @brief Initializes an already allocated OFNumber with the specified signed * int. * * @param int_ A signed int which the OFNumber should contain * @return An initialized OFNumber */ - initWithInt: (signed int)int_; /*! * @brief Initializes an already allocated OFNumber with the specified signed * long. * * @param long_ A signed long which the OFNumber should contain * @return An initialized OFNumber */ - initWithLong: (signed long)long_; /*! * @brief Initializes an already allocated OFNumber with the specified unsigned * char. * * @param uchar An unsigned char which the OFNumber should contain * @return An initialized OFNumber */ - initWithUnsignedChar: (unsigned char)uchar; /*! * @brief Initializes an already allocated OFNumber with the specified unsigned * short. * * @param ushort An unsigned short which the OFNumber should contain * @return An initialized OFNumber */ - initWithUnsignedShort: (unsigned short)ushort; /*! * @brief Initializes an already allocated OFNumber with the specified unsigned * int. * * @param uint An unsigned int which the OFNumber should contain * @return An initialized OFNumber */ - initWithUnsignedInt: (unsigned int)uint; /*! * @brief Initializes an already allocated OFNumber with the specified unsigned * long. * * @param ulong An unsigned long which the OFNumber should contain * @return An initialized OFNumber */ - initWithUnsignedLong: (unsigned long)ulong; /*! * @brief Initializes an already allocated OFNumber with the specified int8_t. * * @param int8 An int8_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithInt8: (int8_t)int8; /*! * @brief Initializes an already allocated OFNumber with the specified int16_t. * * @param int16 An int16_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithInt16: (int16_t)int16; /*! * @brief Initializes an already allocated OFNumber with the specified int32_t. * * @param int32 An int32_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithInt32: (int32_t)int32; /*! * @brief Initializes an already allocated OFNumber with the specified int64_t. * * @param int64 An int64_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithInt64: (int64_t)int64; /*! * @brief Initializes an already allocated OFNumber with the specified uint8_t. * * @param uint8 A uint8_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithUInt8: (uint8_t)uint8; /*! * @brief Initializes an already allocated OFNumber with the specified uint16_t. * * @param uint16 A uint16_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithUInt16: (uint16_t)uint16; /*! * @brief Initializes an already allocated OFNumber with the specified uint32_t. * * @param uint32 A uint32_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithUInt32: (uint32_t)uint32; /*! * @brief Initializes an already allocated OFNumber with the specified uint64_t. * * @param uint64 A uint64_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithUInt64: (uint64_t)uint64; /*! * @brief Initializes an already allocated OFNumber with the specified size_t. * * @param size A size_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithSize: (size_t)size; /*! * @brief Initializes an already allocated OFNumber with the specified ssize_t. * * @param ssize An ssize_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithSSize: (ssize_t)ssize; /*! * @brief Initializes an already allocated OFNumber with the specified intmax_t. * * @param intmax An intmax_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithIntMax: (intmax_t)intmax; /*! * @brief Initializes an already allocated OFNumber with the specified * uintmax_t. * * @param uintmax A uintmax_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithUIntMax: (uintmax_t)uintmax; /*! * @brief Initializes an already allocated OFNumber with the specified * ptrdiff_t. * * @param ptrdiff A ptrdiff_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithPtrDiff: (ptrdiff_t)ptrdiff; /*! * @brief Initializes an already allocated OFNumber with the specified intptr_t. * * @param intptr An intptr_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithIntPtr: (intptr_t)intptr; /*! * @brief Initializes an already allocated OFNumber with the specified * uintptr_t. * * @param uintptr A uintptr_t which the OFNumber should contain * @return An initialized OFNumber */ - initWithUIntPtr: (uintptr_t)uintptr; /*! * @brief Initializes an already allocated OFNumber with the specified float. * * @param float_ A float which the OFNumber should contain * @return An initialized OFNumber */ - initWithFloat: (float)float_; /*! * @brief Initializes an already allocated OFNumber with the specified double. * * @param double_ A double which the OFNumber should contain * @return An initialized OFNumber */ - initWithDouble: (double)double_; /*! * @brief Returns the type of the number. * * @return An of_number_type_t indicating the type of the number */ - (of_number_type_t)type; /*! * @brief Returns the OFNumber as a BOOL. * * @return The OFNumber as a BOOL */ - (BOOL)boolValue; /*! * @brief Returns the OFNumber as a signed char. * * @return The OFNumber as a signed char */ - (signed char)charValue; /*! * @brief Returns the OFNumber as a signed short. * * @return The OFNumber as a short */ - (signed short)shortValue; /*! * @brief Returns the OFNumber as a signed int. * * @return The OFNumber as an int */ - (signed int)intValue; /*! * @brief Returns the OFNumber as a signed long. * * @return The OFNumber as a long */ - (signed long)longValue; /*! * @brief Returns the OFNumber as an unsigned char. * * @return The OFNumber as an unsigned char */ - (unsigned char)unsignedCharValue; /*! * @brief Returns the OFNumber as an unsigned short. * * @return The OFNumber as an unsigned short */ - (unsigned short)unsignedShortValue; /*! * @brief Returns the OFNumber as an unsigned int. * * @return The OFNumber as an unsigned int */ - (unsigned int)unsignedIntValue; /*! * @brief Returns the OFNumber as an unsigned long. * * @return The OFNumber as an unsigned long */ - (unsigned long)unsignedLongValue; /*! * @brief Returns the OFNumber as an int8_t. * * @return The OFNumber as an int8_t */ - (int8_t)int8Value; /*! * @brief Returns the OFNumber as an int16_t. * * @return The OFNumber as an int16_t */ - (int16_t)int16Value; /*! * @brief Returns the OFNumber as an int32_t. * * @return The OFNumber as an int32_t */ - (int32_t)int32Value; /*! * @brief Returns the OFNumber as an int64_t. * * @return The OFNumber as an int64_t */ - (int64_t)int64Value; /*! * @brief Returns the OFNumber as a uint8_t. * * @return The OFNumber as a uint8_t */ - (uint8_t)uInt8Value; /*! * @brief Returns the OFNumber as a uint16_t. * * @return The OFNumber as a uint16_t */ - (uint16_t)uInt16Value; /*! * @brief Returns the OFNumber as a uint32_t. * * @return The OFNumber as a uint32_t */ - (uint32_t)uInt32Value; /*! * @brief Returns the OFNumber as a uint64_t. * * @return The OFNumber as a uint64_t */ - (uint64_t)uInt64Value; /*! * @brief Returns the OFNumber as a size_t. * * @return The OFNumber as a size_t */ - (size_t)sizeValue; /*! * @brief Returns the OFNumber as an ssize_t. * * @return The OFNumber as an ssize_t */ - (ssize_t)sSizeValue; /*! * @brief Returns the OFNumber as an intmax_t. * * @return The OFNumber as an intmax_t */ - (intmax_t)intMaxValue; /*! * @brief Returns the OFNumber as a uintmax_t. * * @return The OFNumber as a uintmax_t */ - (uintmax_t)uIntMaxValue; /*! * @brief Returns the OFNumber as a ptrdiff_t. * * @return The OFNumber as a ptrdiff_t */ - (ptrdiff_t)ptrDiffValue; /*! * @brief Returns the OFNumber as an intptr_t. * * @return The OFNumber as an intptr_t */ - (intptr_t)intPtrValue; /*! * @brief Returns the OFNumber as a uintptr_t. * * @return The OFNumber as a uintptr_t */ - (uintptr_t)uIntPtrValue; /*! * @brief Returns the OFNumber as a float. * * @return The OFNumber as a float */ - (float)floatValue; /*! * @brief Returns the OFNumber as a double. * * @return The OFNumber as a double */ - (double)doubleValue; /*! * @brief Creates a new OFNumber by adding the specified number. * * @param num The OFNumber to add * @return A new autoreleased OFNumber added with the specified OFNumber */ - (OFNumber*)numberByAddingNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by subtracting the specified number. * * @param num The OFNumber to substract * @return A new autoreleased OFNumber subtracted by the specified OFNumber */ - (OFNumber*)numberBySubtractingNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by multiplying with the specified number. * * @param num The OFNumber to multiply with * @return A new autoreleased OFNumber multiplied with the specified OFNumber */ - (OFNumber*)numberByMultiplyingWithNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by dividing with with the specified number. * * @param num The OFNumber to divide by * @return A new autoreleased OFNumber devided by the specified OFNumber */ - (OFNumber*)numberByDividingWithNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by ANDing with the specified number. * * Does not work with floating point types! * * @param num The number to AND with. * @return A new autoreleased OFNumber ANDed with the specified OFNumber */ - (OFNumber*)numberByANDingWithNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by ORing with the specified number. * * Does not work with floating point types! * * @param num The number to OR with. * @return A new autoreleased OFNumber ORed with the specified OFNumber */ - (OFNumber*)numberByORingWithNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by XORing with the specified number. * * Does not work with floating point types! * * @param num The number to XOR with. * @return A new autoreleased OFNumber XORed with the specified OFNumber */ - (OFNumber*)numberByXORingWithNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by shifting to the left by the specified number * of bits. * * Does not work with floating point types! * * @param num The number of bits to shift to the left * @return A new autoreleased OFNumber bitshifted to the left with the * specified OFNumber */ - (OFNumber*)numberByShiftingLeftWithNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by shifting to the right by the specified * number of bits. * * Does not work with floating point types! * * @param num The number of bits to shift to the right * @return A new autoreleased OFNumber bitshifted to the right with the * specified OFNumber */ - (OFNumber*)numberByShiftingRightWithNumber: (OFNumber*)num; /*! * @brief Creates a new OFNumber by with the same value increased by one. * * @return A new autoreleased OFNumber with the value increased by one. */ - (OFNumber*)numberByIncreasing; /*! * @brief Creates a new OFNumber by with the same value decreased by one. * * @return A new autoreleased OFNumber with the value decreased by one. */ - (OFNumber*)numberByDecreasing; /*! * @brief Creates a new OFNumber with the remainder of a division with the * specified number. * * @param num The number to divide by * @return The remainder of a division by the specified number */ - (OFNumber*)remainderOfDivisionWithNumber: (OFNumber*)num; @end #ifndef NSINTEGER_DEFINED /* Required for number literals to work */ @compatibility_alias NSNumber OFNumber; #endif |
Modified src/OFObject+Serialization.h from [57a9644204] to [165383aa87].
︙ | ︙ | |||
22 23 24 25 26 27 28 | extern "C" { #endif extern int _OFObject_Serialization_reference; #ifdef __cplusplus } #endif | | | | | | | 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | extern "C" { #endif extern int _OFObject_Serialization_reference; #ifdef __cplusplus } #endif /*! * @brief A category that provides methods for serializing objects. */ @interface OFObject (OFSerialization) /*! * @brief Creates a string by serializing the receiver. * * @return The object serialized as a string */ - (OFString*)stringBySerializing; @end |
Modified src/OFObject.h from [de75aa3e70] to [496d3ca31d].
︙ | ︙ | |||
100 101 102 103 104 105 106 | # define __bridge # define __autoreleasing #endif #define OF_RETAIN_COUNT_MAX UINT_MAX #define OF_NOT_FOUND SIZE_MAX | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 | # define __bridge # define __autoreleasing #endif #define OF_RETAIN_COUNT_MAX UINT_MAX #define OF_NOT_FOUND SIZE_MAX /*! * @brief A result of a comparison. */ typedef enum of_comparison_result_t { /// The left object is smaller than the right OF_ORDERED_ASCENDING = -1, /// Both objects are equal OF_ORDERED_SAME = 0, /// The left object is bigger than the right OF_ORDERED_DESCENDING = 1 } of_comparison_result_t; /*! * @brief An enum for storing endianess. */ typedef enum of_byte_order_t { OF_BYTE_ORDER_BIG_ENDIAN, OF_BYTE_ORDER_LITTLE_ENDIAN } of_byte_order_t; /*! * @brief A range. */ typedef struct of_range_t { /// The start of the range size_t location; /// The length of the range size_t length; } of_range_t; /*! * @brief A point. */ typedef struct of_point_t { float x; float y; } of_point_t; /*! * @brief A dimension. */ typedef struct of_dimension_t { float width; float height; } of_dimension_t; /*! * @brief A rectangle. */ typedef struct of_rectangle_t { of_point_t origin; of_dimension_t size; } of_rectangle_t; @class OFString; @class OFThread; /*! * @brief The protocol which all root classes implement. */ @protocol OFObject /*! * @brief Returns the class of the object. * * @return The class of the object */ - (Class)class; /*! * @brief Returns a boolean whether the object of the specified kind. * * @param class_ The class whose kind is checked * @return A boolean whether the object is of the specified kind */ - (BOOL)isKindOfClass: (Class)class_; /*! * @brief Returns a boolean whether the object is a member of the specified * class. * * @param class_ The class for which the receiver is checked * @return A boolean whether the object is a member of the specified class */ - (BOOL)isMemberOfClass: (Class)class_; /*! * @brief Returns a boolean whether the object responds to the specified * selector. * * @param selector The selector which should be checked for respondance * @return A boolean whether the objects responds to the specified selector */ - (BOOL)respondsToSelector: (SEL)selector; /*! * @brief Checks whether the object conforms to the specified protocol. * * @param protocol The protocol which should be checked for conformance * @return A boolean whether the object conforms to the specified protocol */ - (BOOL)conformsToProtocol: (Protocol*)protocol; /*! * @brief Returns the implementation for the specified selector. * * @param selector The selector for which the method should be returned * @return The implementation for the specified selector */ - (IMP)methodForSelector: (SEL)selector; /*! * @brief Returns the type encoding for the specified selector. * * @param selector The selector for which the type encoding should be returned * @return The type encoding for the specified selector */ - (const char*)typeEncodingForSelector: (SEL)selector; /*! * @brief Performs the specified selector. * * @param selector The selector to perform * @return The object returned by the method specified by the selector */ - (id)performSelector: (SEL)selector; /*! * @brief Performs the specified selector with the specified object. * * @param selector The selector to perform * @param object The object that is passed to the method specified by the * selector * @return The object returned by the method specified by the selector */ - (id)performSelector: (SEL)selector withObject: (id)object; /*! * @brief Performs the specified selector with the specified objects. * * @param selector The selector to perform * @param object1 The first object that is passed to the method specified by the * selector * @param object2 The second object that is passed to the method specified by * the selector * @return The object returned by the method specified by the selector */ - (id)performSelector: (SEL)selector withObject: (id)object1 withObject: (id)object2; /*! * @brief Checks two objects for equality. * * Classes containing data (like strings, arrays, lists etc.) should reimplement * this! * * @param object The object which should be tested for equality * @return A boolean whether the object is equal to the specified object */ - (BOOL)isEqual: (id)object; /*! * @brief Calculates a hash for the object. * * Classes containing data (like strings, arrays, lists etc.) should reimplement * this! * * @return A 32 bit hash for the object */ - (uint32_t)hash; /*! * @brief Increases the retain count. * * Each time an object is released, the retain count gets decreased and the * object deallocated if it reaches 0. */ - retain; /*! * @brief Returns the retain count. * * @return The retain count */ - (unsigned int)retainCount; /*! * @brief Decreases the retain count. * * Each time an object is released, the retain count gets decreased and the * object deallocated if it reaches 0. */ - (void)release; /*! * @brief Adds the object to the topmost OFAutoreleasePool of the thread's * autorelease pool stack. * * @return The object */ - autorelease; /*! * @brief Returns the receiver. * * @return The receiver */ - self; /*! * @brief Returns whether the object is a proxy object. * * @return A boolean whether the object is a proxy object */ - (BOOL)isProxy; @end /*! * @brief The root class for all other classes inside ObjFW. */ @interface OFObject <OFObject> { @public /// The class of the object Class isa; } /*! * @brief A method which is called once when the class is loaded into the * runtime. * * Derived classes can overide this to execute their own code when the class is * loaded. */ + (void)load; /*! * @brief A method which is called the moment before the first call to the class * is being made. * * Derived classes can override this to execute their own code on * initialization. They should make sure to not execute any code if self is not * the class itself, as it might happen that the method was called for a * subclass which did not override this method. */ + (void)initialize; /*! * @brief Allocates memory for an instance of the class and sets up the memory * pool for the object. * * This method will never return nil, instead, it will throw an * OFAllocFailedException. * * @return The allocated object */ + alloc; /*! * @brief Allocates memory for a new instance and calls -[init] on it. * @return An allocated and initialized object */ + new; /*! * @brief Returns the class. * * @return The class */ + (Class)class; /*! * @brief Returns the name of the class as a string. * * @return The name of the class as a string */ + (OFString*)className; /*! * @brief Returns a boolean whether the class is a subclass of the specified * class. * * @param class_ The class which is checked for being a superclass * @return A boolean whether the class is a subclass of the specified class */ + (BOOL)isSubclassOfClass: (Class)class_; /*! * @brief Returns the superclass of the class. * * @return The superclass of the class */ + (Class)superclass; /*! * @brief Checks whether instances of the class respond to a given selector. * * @param selector The selector which should be checked for respondance * @return A boolean whether instances of the class respond to the specified * selector */ + (BOOL)instancesRespondToSelector: (SEL)selector; /*! * @brief Checks whether the class conforms to a given protocol. * * @param protocol The protocol which should be checked for conformance * @return A boolean whether the class conforms to the specified protocol */ + (BOOL)conformsToProtocol: (Protocol*)protocol; /*! * @brief Returns the implementation of the instance method for the specified * selector. * * @param selector The selector for which the method should be returned * @return The implementation of the instance method for the specified selector * or nil if it isn't implemented */ + (IMP)instanceMethodForSelector: (SEL)selector; /*! * @brief Returns the type encoding of the instance method for the specified * selector. * * @param selector The selector for which the type encoding should be returned * @return The type encoding of the instance method for the specified selector */ + (const char*)typeEncodingForInstanceSelector: (SEL)selector; /*! * @brief Returns a description for the class, which is usually the class name. * * This is mostly for debugging purposes. * * @return A description for the class, which is usually the class name */ + (OFString*)description; /*! * @brief Replaces a class method with a class method from another class. * * @param selector The selector of the class method to replace * @param class_ The class from which the new class method should be taken * @return The old implementation */ + (IMP)replaceClassMethod: (SEL)selector withMethodFromClass: (Class)class_; /*! * @brief Replaces an instance method with an instance method from another * class. * * @param selector The selector of the instance method to replace * @param class_ The class from which the new instance method should be taken * @return The old implementation */ + (IMP)replaceInstanceMethod: (SEL)selector withMethodFromClass: (Class)class_; /*! * @brief Replaces or adds a class method. * * If the method already exists, it is replaced and the old implementation * returned. If the method does not exist, it is added with the specified type * encoding. * * @param selector The selector for the new method * @param implementation The implementation for the new method * @param typeEncoding The type encoding for the new method * @return The old implementation or nil if the method was added */ + (IMP)replaceClassMethod: (SEL)selector withImplementation: (IMP)implementation typeEncoding: (const char*)typeEncoding; /*! * @brief Replaces or adds an instance method. * * If the method already exists, it is replaced and the old implementation * returned. If the method does not exist, it is added with the specified type * encoding. * * @param selector The selector for the new method * @param implementation The implementation for the new method * @param typeEncoding The type encoding for the new method * @return The old implementation or nil if the method was added */ + (IMP)replaceInstanceMethod: (SEL)selector withImplementation: (IMP)implementation typeEncoding: (const char*)typeEncoding; /*! * @brief Adds all methods from the specified class to the class that is the * receiver. * * Methods implemented by the receiving class itself will not be overridden, * however methods implemented by its superclass will. Therefore it behaves * similar as if the specified class is the superclass of the receiver. * * All methods from the superclasses of the specified class will also be added. * * If the specified class is a superclass of the receiving class, nothing is * done. * * The methods which will be added from the specified class are not allowed to * use super or access instance variables, instead they have to use accessors. * * @param class The class from which the instance methods should be inherited */ + (void)inheritMethodsFromClass: (Class)class_; /*! * @brief Try to resolve the specified class method. * * This method is called if a class method was not found, so that an * implementation can be provided at runtime. * * @return Whether the method has been added to the class */ + (BOOL)resolveClassMethod: (SEL)selector; /*! * @brief Try to resolve the specified instance method. * * This method is called if an instance method was not found, so that an * implementation can be provided at runtime. * * @return Whether the method has been added to the class */ + (BOOL)resolveInstanceMethod: (SEL)selector; /*! * @brief Initializes an already allocated object. * * Derived classes may override this, but need to do self = [super init] before * they do any initialization themselves. init may never return nil, instead * an exception (for example OFInitializationFailed) should be thrown. * * @return An initialized object */ - init; /*! * @brief Returns the name of the object's class. * * @return The name of the object's class */ - (OFString*)className; /*! * @brief Returns a description for the object. * * This is mostly for debugging purposes. * * @return A description for the object */ - (OFString*)description; /*! * @brief Allocates memory and stores it in the object's memory pool. * * It will be free'd automatically when the object is deallocated. * * @param size The size of the memory to allocate * @return A pointer to the allocated memory */ - (void*)allocMemoryWithSize: (size_t)size; /*! * @brief Allocates memory for the specified number of items and stores it in * the object's memory pool. * * It will be free'd automatically when the object is deallocated. * * @param size The size of each item to allocate * @param count The number of items to allocate * @return A pointer to the allocated memory */ - (void*)allocMemoryWithSize: (size_t)size count: (size_t)count; /*! * @brief Resizes memory in the object's memory pool to the specified size. * * If the pointer is NULL, this is equivalent to allocating memory. * If the size is 0, this is equivalent to freeing memory. * * @param pointer A pointer to the already allocated memory * @param size The new size for the memory chunk * @return A pointer to the resized memory chunk */ - (void*)resizeMemory: (void*)pointer size: (size_t)size; /*! * @brief Resizes memory in the object's memory pool to the specific number of * items of the specified size. * * If the pointer is NULL, this is equivalent to allocating memory. * If the size or number of items is 0, this is equivalent to freeing memory. * * @param pointer A pointer to the already allocated memory * @param size The size of each item to resize to * @param count The number of items to resize to * @return A pointer to the resized memory chunk */ - (void*)resizeMemory: (void*)pointer size: (size_t)size count: (size_t)count; /*! * @brief Frees allocated memory and removes it from the object's memory pool. * * Does nothing if the pointer is NULL. * * @param pointer A pointer to the allocated memory */ - (void)freeMemory: (void*)pointer; /*! * @brief Deallocates the object. * * It is automatically called when the retain count reaches zero. * * This also frees all memory in its memory pool. */ - (void)dealloc; /*! * @brief Performs the specified selector after the specified delay. * * @param selector The selector to perform * @param delay The delay after which the selector will be performed */ - (void)performSelector: (SEL)selector afterDelay: (double)delay; /*! * @brief Performs the specified selector with the specified object after the * specified delay. * * @param selector The selector to perform * @param object The object that is passed to the method specified by the * selector * @param delay The delay after which the selector will be performed */ - (void)performSelector: (SEL)selector withObject: (id)object afterDelay: (double)delay; /*! * @brief Performs the specified selector with the specified objects after the * specified delay. * * @param selector The selector to perform * @param object1 The first object that is passed to the method specified by the * selector * @param object2 The second object that is passed to the method specified by * the selector * @param delay The delay after which the selector will be performed */ - (void)performSelector: (SEL)selector withObject: (id)object1 withObject: (id)object2 afterDelay: (double)delay; /*! * @brief Performs the specified selector on the specified thread. * * @param selector The selector to perform * @param thread The thread on which to perform the selector * @param waitUntilDone Whether to wait until the perform finished */ - (void)performSelector: (SEL)selector onThread: (OFThread*)thread waitUntilDone: (BOOL)waitUntilDone; /*! * @brief Performs the specified selector on the specified thread with the * specified object. * * @param selector The selector to perform * @param thread The thread on which to perform the selector * @param object The object that is passed to the method specified by the * selector * @param waitUntilDone Whether to wait until the perform finished */ - (void)performSelector: (SEL)selector onThread: (OFThread*)thread withObject: (id)object waitUntilDone: (BOOL)waitUntilDone; /*! * @brief Performs the specified selector on the specified thread with the * specified objects. * * @param selector The selector to perform * @param thread The thread on which to perform the selector * @param object1 The first object that is passed to the method specified by the * selector * @param object2 The second object that is passed to the method specified by * the selector * @param waitUntilDone Whether to wait until the perform finished */ - (void)performSelector: (SEL)selector onThread: (OFThread*)thread withObject: (id)object1 withObject: (id)object2 waitUntilDone: (BOOL)waitUntilDone; /*! * @brief Performs the specified selector on the main thread. * * @param selector The selector to perform * @param waitUntilDone Whether to wait until the perform finished */ - (void)performSelectorOnMainThread: (SEL)selector waitUntilDone: (BOOL)waitUntilDone; /*! * @brief Performs the specified selector on the main thread with the specified * object. * * @param selector The selector to perform * @param object The object that is passed to the method specified by the * selector * @param waitUntilDone Whether to wait until the perform finished */ - (void)performSelectorOnMainThread: (SEL)selector withObject: (id)object waitUntilDone: (BOOL)waitUntilDone; /*! * @brief Performs the specified selector on the main thread with the specified * objects. * * @param selector The selector to perform * @param object1 The first object that is passed to the method specified by the * selector * @param object2 The second object that is passed to the method specified by * the selector * @param waitUntilDone Whether to wait until the perform finished */ - (void)performSelectorOnMainThread: (SEL)selector withObject: (id)object1 withObject: (id)object2 waitUntilDone: (BOOL)waitUntilDone; /*! * @brief Performs the specified selector on the specified thread after the * specified delay. * * @param selector The selector to perform * @param thread The thread on which to perform the selector * @param delay The delay after which the selector will be performed */ - (void)performSelector: (SEL)selector onThread: (OFThread*)thread afterDelay: (double)delay; /*! * @brief Performs the specified selector on the specified thread with the * specified object after the specified delay. * * @param selector The selector to perform * @param thread The thread on which to perform the selector * @param object The object that is passed to the method specified by the * selector * @param delay The delay after which the selector will be performed */ - (void)performSelector: (SEL)selector onThread: (OFThread*)thread withObject: (id)object afterDelay: (double)delay; /*! * @brief Performs the specified selector on the specified thread with the * specified objects after the specified delay. * * @param selector The selector to perform * @param thread The thread on which to perform the selector * @param object1 The first object that is passed to the method specified by the * selector * @param object2 The second object that is passed to the method specified by * the selector * @param delay The delay after which the selector will be performed */ - (void)performSelector: (SEL)selector onThread: (OFThread*)thread withObject: (id)object1 withObject: (id)object2 afterDelay: (double)delay; @end /*! * @brief A protocol for the creation of copies. */ @protocol OFCopying /*! * @brief Copies the object. * * For classes which can be immutable or mutable, this returns an immutable * copy. If only a mutable version of the class exists, it creates a mutable * copy. * * @return A copy of the object */ - copy; @end /*! * @brief A protocol for the creation of mutable copies. * * This protocol is implemented by objects that can be mutable and immutable * and allows returning a mutable copy. */ @protocol OFMutableCopying /*! * @brief Creates a mutable copy of the object. * * @return A mutable copy of the object */ - mutableCopy; @end /*! * @brief A protocol for comparing objects. * * This protocol is implemented by objects that can be compared. */ @protocol OFComparing <OFObject> /*! * @brief Compares the object with another object. * * @param object An object to compare the object to * @return The result of the comparison */ - (of_comparison_result_t)compare: (id <OFComparing>)object; @end #import "OFObject+Serialization.h" #ifdef __cplusplus |
︙ | ︙ |
Modified src/OFPlugin.h from [5291cd6c54] to [c5458c048c].
︙ | ︙ | |||
21 22 23 24 25 26 27 | #ifndef _WIN32 typedef void* of_plugin_handle_t; #else # include <windows.h> typedef HMODULE of_plugin_handle_t; #endif | | | | | | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #ifndef _WIN32 typedef void* of_plugin_handle_t; #else # include <windows.h> typedef HMODULE of_plugin_handle_t; #endif /*! * @brief Provides a system for loading plugins at runtime. */ @interface OFPlugin: OFObject { of_plugin_handle_t handle; } /*! * @brief Loads a plugin from a file. * * @param path Path to the plugin file. The suffix is appended automatically. * @return The loaded plugin */ + (id)pluginFromFile: (OFString*)path; @end |
Modified src/OFProcess.h from [acd107a1ee] to [7797d92ef6].
︙ | ︙ | |||
25 26 27 28 29 30 31 | #import "OFStream.h" #ifdef _WIN32 # include <windows.h> #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | #import "OFStream.h" #ifdef _WIN32 # include <windows.h> #endif /*! * @brief A class for stream-like communication with a newly created process. */ @interface OFProcess: OFStream { #ifndef _WIN32 pid_t pid; int readPipe[2], writePipe[2]; #else HANDLE readPipe[2], writePipe[2]; #endif int status; BOOL atEndOfStream; } /*! * @brief Creates a new OFProcess with the specified program and invokes the * program. * * @param program The program to execute. If it does not start with a slash, the * search path specified in PATH is used. * @return A new, autoreleased OFProcess. */ + (instancetype)processWithProgram: (OFString*)program; /*! * @brief Creates a new OFProcess with the specified program and arguments and * invokes the program. * * @param program The program to execute. If it does not start with a slash, the * search path specified in PATH is used. * @param arguments The arguments to pass to the program, or nil * @return A new, autoreleased OFProcess. */ + (instancetype)processWithProgram: (OFString*)program arguments: (OFArray*)arguments; /*! * @brief Creates a new OFProcess with the specified program, program name and * arguments and invokes the program. * * @param program The program to execute. If it does not start with a slash, the * search path specified in PATH is used. * @param programName The program name for the program to invoke (argv[0]). * Usually, this is equal to program. * @param arguments The arguments to pass to the program, or nil * @return A new, autoreleased OFProcess. */ + (instancetype)processWithProgram: (OFString*)program programName: (OFString*)programName arguments: (OFArray*)arguments; /*! * @brief Initializes an already allocated OFProcess with the specified program * and invokes the program. * * @param program The program to execute. If it does not start with a slash, the * search path specified in PATH is used. * @return An initialized OFProcess. */ - initWithProgram: (OFString*)program; /*! * @brief Initializes an already allocated OFProcess with the specified program * and arguments and invokes the program. * * @param program The program to execute. If it does not start with a slash, the * search path specified in PATH is used. * @param arguments The arguments to pass to the program, or nil * @return An initialized OFProcess. */ - initWithProgram: (OFString*)program arguments: (OFArray*)arguments; /*! * @brief Initializes an already allocated OFProcess with the specified program, * program name and arguments and invokes the program. * * @param program The program to execute. If it does not start with a slash, the * search path specified in PATH is used. * @param programName The program name for the program to invoke (argv[0]). * Usually, this is equal to program. * @param arguments The arguments to pass to the program, or nil * @return An initialized OFProcess. */ - initWithProgram: (OFString*)program programName: (OFString*)programName arguments: (OFArray*)arguments; /*! * @brief Closes the write direction of the process. * * This method needs to be called for some programs before data can be read, * since some programs don't start processing before the write direction is * closed. */ - (void)closeForWriting; @end |
Modified src/OFRecursiveMutex.h from [6e1334c23c] to [6d98d1fbf7].
︙ | ︙ | |||
15 16 17 18 19 20 21 | */ #import "OFObject.h" #import "OFLocking.h" #import "threading.h" | | | | | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | */ #import "OFObject.h" #import "OFLocking.h" #import "threading.h" /*! * @brief A class for creating mutual exclusions which can be entered * recursively. */ @interface OFRecursiveMutex: OFObject <OFLocking> { of_rmutex_t rmutex; BOOL initialized; } /*! * @brief Creates a new recursive mutex. * * @return A new autoreleased recursive mutex. */ + (instancetype)mutex; @end |
Modified src/OFRunLoop.h from [50dd4708f7] to [3854375363].
︙ | ︙ | |||
19 20 21 22 23 24 25 | #import "OFStreamObserver.h" #import "OFTCPSocket.h" @class OFSortedList; @class OFTimer; @class OFMutableDictionary; | | | | | | | | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | #import "OFStreamObserver.h" #import "OFTCPSocket.h" @class OFSortedList; @class OFTimer; @class OFMutableDictionary; /*! * @brief A class providing a run loop for the application and its processes. */ @interface OFRunLoop: OFObject { OFSortedList *timersQueue; OFStreamObserver *streamObserver; OFMutableDictionary *readQueues; } /*! * @brief Returns the main run loop. * * @return The main run loop */ + (OFRunLoop*)mainRunLoop; /*! * @brief Returns the run loop for the current thread. * * @return The run loop for the current thread */ + (OFRunLoop*)currentRunLoop; + (void)OF_setMainRunLoop; + (void)OF_addAsyncReadForStream: (OFStream*)stream buffer: (void*)buffer length: (size_t)length |
︙ | ︙ | |||
77 78 79 80 81 82 83 | + (void)OF_addAsyncReadLineForStream: (OFStream*)stream encoding: (of_string_encoding_t)encoding block: (of_stream_async_read_line_block_t)block; + (void)OF_addAsyncAcceptForTCPSocket: (OFTCPSocket*)socket block: (of_tcpsocket_async_accept_block_t)block; #endif | | | | | | | 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 | + (void)OF_addAsyncReadLineForStream: (OFStream*)stream encoding: (of_string_encoding_t)encoding block: (of_stream_async_read_line_block_t)block; + (void)OF_addAsyncAcceptForTCPSocket: (OFTCPSocket*)socket block: (of_tcpsocket_async_accept_block_t)block; #endif /*! * @brief Adds an OFTimer to the run loop. * * @param timer The timer to add */ - (void)addTimer: (OFTimer*)timer; /*! * @brief Starts the run loop. */ - (void)run; @end |
Modified src/OFSHA1Hash.h from [b512b356a3] to [a8c4402420].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFHash.h" #define OF_SHA1_DIGEST_SIZE 20 | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | * file. */ #import "OFHash.h" #define OF_SHA1_DIGEST_SIZE 20 /*! * @brief A class which provides functions to create an SHA1 hash. */ @interface OFSHA1Hash: OFHash { uint32_t state[5]; uint64_t count; char buffer[64]; uint8_t digest[OF_SHA1_DIGEST_SIZE]; |
︙ | ︙ |
Modified src/OFSeekableStream.h from [38bd04ae73] to [56eb0b9d36].
︙ | ︙ | |||
21 22 23 24 25 26 27 | # define __STDC_CONSTANT_MACROS #endif #include <sys/types.h> #import "OFStream.h" | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | # define __STDC_CONSTANT_MACROS #endif #include <sys/types.h> #import "OFStream.h" /*! * @brief A stream that supports seeking. * * @note If you want to subclass this, override lowlevelSeekToOffset:, * lowlevelSeekForwardWithOffset: and lowlevelSeekToOffsetRelativeToEnd:, * but nothing else. Those are not defined in the headers, but do the * actual work. OFSeekableStream uses those and makes them work together * with the caching of OFStream. If you override these methods without * the lowlevel prefix, you <i>will</i> break caching, get broken results * and seek to the wrong position! */ @interface OFSeekableStream: OFStream /*! * @brief Seeks to the specified absolute offset. * * @param offset The offset in bytes */ - (void)seekToOffset: (off_t)offset; /*! * @brief Seeks to the specified offset, relative to the current location. * * @param offset The offset relative to the current location * @return The absolute offset */ - (off_t)seekForwardWithOffset: (off_t)offset; /*! * @brief Seeks to the specified offset, relative to the end of the stream. * * @param offset The offset relative to the end of the stream * @return The absolute offset */ - (off_t)seekToOffsetRelativeToEnd: (off_t)offset; /*! * @brief Seek the stream on the lowlevel. * * @warning Do not call this directly! * * Override this with this method with your actual seek implementation when * subclassing! * * @param offset The offset to seek to */ - (void)lowlevelSeekToOffset: (off_t)offset; /*! * @brief Seek the stream on the lowlevel. * * @warning Do not call this directly! * * Override this with this method with your actual seek implementation when * subclassing! * * @param offset The offset to seek forward to */ - (off_t)lowlevelSeekForwardWithOffset: (off_t)offset; /*! * @brief Seek the stream on the lowlevel. * * @warning Do not call this directly! * * Override this with this method with your actual seek implementation when * subclassing! * * @param offset The offset to seek to, relative to the end */ - (off_t)lowlevelSeekToOffsetRelativeToEnd: (off_t)offset; @end |
Modified src/OFSerialization.h from [4ef5a34a02] to [989b553d8c].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "OFObject.h" #define OF_SERIALIZATION_NS @"https://webkeks.org/objfw/serialization" @class OFXMLElement; | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #import "OFObject.h" #define OF_SERIALIZATION_NS @"https://webkeks.org/objfw/serialization" @class OFXMLElement; /*! * @brief A protocol for serializing objects. */ @protocol OFSerialization /*! * @brief Initializes the object with the specified XML element serialization. * * @param element An OFXMLElement with the serialized object * @return An initialized object */ - initWithSerialization: (OFXMLElement*)element; /*! * @brief Serializes the object into an XML element. * * @return The object serialized into an XML element */ - (OFXMLElement*)XMLElementBySerializing; @end |
Modified src/OFSet.h from [e720d47024] to [45f4477f95].
︙ | ︙ | |||
30 31 32 33 34 35 36 | @class OFArray; #ifdef OF_HAVE_BLOCKS typedef void (^of_set_enumeration_block_t)(id object, BOOL *stop); typedef BOOL (^of_set_filter_block_t)(id object); #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 | @class OFArray; #ifdef OF_HAVE_BLOCKS typedef void (^of_set_enumeration_block_t)(id object, BOOL *stop); typedef BOOL (^of_set_filter_block_t)(id object); #endif /*! * @brief An abstract class for an unordered set of unique objects. */ @interface OFSet: OFObject <OFCollection, OFCopying, OFMutableCopying, OFSerialization> /*! * @brief Creates a new set. * * @return A new, autoreleased set */ + (instancetype)set; /*! * @brief Creates a new set with the specified set. * * @param set The set to initialize the set with * @return A new, autoreleased set with the specified set */ + (instancetype)setWithSet: (OFSet*)set; /*! * @brief Creates a new set with the specified array. * * @param array The array to initialize the set with * @return A new, autoreleased set with the specified array */ + (instancetype)setWithArray: (OFArray*)array; /*! * @brief Creates a new set with the specified objects. * * @param firstObject The first object for the set * @return A new, autoreleased set with the specified objects */ + (instancetype)setWithObjects: (id)firstObject, ...; /*! * @brief Creates a new set with the specified objects. * * @param objects An array of objects for the set * @param count The number of objects in the specified array * @return A new, autoreleased set with the specified objects */ + (instancetype)setWithObjects: (id const*)objects count: (size_t)count; /*! * @brief Initializes an already allocated set with the specified set. * * @param set The set to initialize the set with * @return An initialized set with the specified set */ - initWithSet: (OFSet*)set; /*! * @brief Initializes an already allocated set with the specified array. * * @param array The array to initialize the set with * @return An initialized set with the specified array */ - initWithArray: (OFArray*)array; /*! * @brief Initializes an already allocated set with the specified objects. * * @param firstObject The first object for the set * @return An initialized set with the specified objects */ - initWithObjects: (id)firstObject, ...; /*! * @brief Initializes an already allocated set with the specified objects. * * @param objects An array of objects for the set * @param count The number of objects in the specified array * @return An initialized set with the specified objects */ - initWithObjects: (id const*)objects count: (size_t)count; /*! * @brief Initializes an already allocated set with the specified object and * va_list. * * @param firstObject The first object for the set * @param arguments A va_list with the other objects * @return An initialized set with the specified object and va_list */ - initWithObject: (id)firstObject arguments: (va_list)arguments; /*! * @brief Returns whether the receiver is a subset of the specified set. * * @return Whether the receiver is a subset of the specified set */ - (BOOL)isSubsetOfSet: (OFSet*)set; /*! * @brief Returns whether the receiver and the specified set have at least one * object in common. * * @return Whether the receiver and the specified set have at least one object * in common */ - (BOOL)intersectsSet: (OFSet*)set; #ifdef OF_HAVE_BLOCKS /*! * @brief Executes a block for each object in the set. * * @param block The block to execute for each object in the set */ - (void)enumerateObjectsUsingBlock: (of_set_enumeration_block_t)block; /*! * @brief Creates a new set, only containing the objects for which the block * returns YES. * * @param block A block which determines if the object should be in the new set * @return A new, autoreleased OFSet */ - (OFSet*)filteredSetUsingBlock: (of_set_filter_block_t)block; #endif @end #import "OFMutableSet.h" |
Modified src/OFSortedList.h from [9c74d441f5] to [4d01ae293c].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFList.h" | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 | * 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. */ #import "OFList.h" /*! * @brief A class which provides easy to use sorted double-linked lists. * * @warning Because the list is sorted, all methods inserting an object at a * specific place are unavailable, even though they exist in OFList! */ @interface OFSortedList: OFList /*! * @brief Adds the object to the list while keeping the list sorted. * * @param object The object to add * @return The list object for the object just added */ - (of_list_object_t*)addObject: (id <OFComparing>)object; @end |
Modified src/OFStream.h from [6c1eafc699] to [03e8d32455].
︙ | ︙ | |||
33 34 35 36 37 38 39 | #ifdef OF_HAVE_BLOCKS typedef BOOL (^of_stream_async_read_block_t)(OFStream*, void*, size_t, OFException*); typedef BOOL (^of_stream_async_read_line_block_t)(OFStream*, OFString*, OFException*); #endif | | | | | | 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 | #ifdef OF_HAVE_BLOCKS typedef BOOL (^of_stream_async_read_block_t)(OFStream*, void*, size_t, OFException*); typedef BOOL (^of_stream_async_read_line_block_t)(OFStream*, OFString*, OFException*); #endif /*! * @brief A base class for different types of streams. * * @warning Even though the OFCopying protocol is implemented, it does * <i>not</i> return an independent copy of the stream, but instead * retains it. This is so that the stream can be used as a key for a * dictionary, so context can be associated with a stream. Using a * stream in more than one thread at the same time is not thread-safe, * even if copy was called to create one "instance" for every thread! * * @note If you want to subclass this, override lowlevelReadIntoBuffer:length:, * lowlevelWriteBuffer:length: and lowlevelIsAtEndOfStream, but nothing * else, as those are are the methods that do the actual work. OFStream * uses those for all other methods and does all the caching and other * stuff for you. If you override these methods without the lowlevel * prefix, you <i>will</i> break caching and get broken results! */ @interface OFStream: OFObject <OFCopying> |
︙ | ︙ | |||
65 66 67 68 69 70 71 | } #ifdef OF_HAVE_PROPERTIES @property (getter=isBlocking) BOOL blocking; @property (readonly, getter=isAtEndOfStream) BOOL atEndOfStream; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 913 914 915 916 917 918 919 920 921 922 923 924 925 926 927 928 929 930 931 932 933 934 935 936 937 938 939 940 941 942 943 944 945 946 947 948 949 950 951 952 953 954 955 956 957 958 959 960 961 962 963 964 965 966 967 968 969 970 971 972 973 974 975 976 977 978 979 980 981 982 983 984 985 986 987 988 989 990 991 992 993 994 995 996 997 998 999 1000 1001 1002 1003 1004 1005 1006 1007 1008 1009 1010 1011 1012 1013 1014 1015 1016 1017 1018 1019 1020 1021 1022 1023 1024 1025 1026 1027 1028 1029 1030 1031 1032 1033 1034 1035 1036 1037 1038 1039 1040 1041 1042 1043 1044 1045 1046 | } #ifdef OF_HAVE_PROPERTIES @property (getter=isBlocking) BOOL blocking; @property (readonly, getter=isAtEndOfStream) BOOL atEndOfStream; #endif /*! * @brief Returns a boolean whether the end of the stream has been reached. * * @return A boolean whether the end of the stream has been reached */ - (BOOL)isAtEndOfStream; /*! * @brief Reads <i>at most</i> size bytes from the stream into a buffer. * * On network streams, this might read less than the specified number of bytes. * If you want to read exactly the specified number of bytes, use * -readIntoBuffer:exactLength:. Note that a read can even return 0 bytes - * this does not necessarily mean that the stream ended, so you still need to * check isAtEndOfStream. * * @param buffer The buffer into which the data is read * @param length The length of the data that should be read at most. * The buffer <i>must</i> be at least this big! * @return The number of bytes read */ - (size_t)readIntoBuffer: (void*)buffer length: (size_t)size; /*! * @brief Reads exactly the specified length bytes from the stream into a * buffer. * * Unlike readIntoBuffer:length:, this method does not return when less than the * specified length has been read - instead, it waits until it got exactly the * specified length. * * @warning Only call this when you know that specified amount of data is * available! Otherwise you will get an exception! * * @param buffer The buffer into which the data is read * @param length The length of the data that should be read. * The buffer <i>must</i> be <i>exactly</i> this big! */ - (void)readIntoBuffer: (void*)buffer exactLength: (size_t)length; /*! * @brief Asyncronously reads <i>at most</i> size bytes from the stream into a * buffer. * * On network streams, this might read less than the specified number of bytes. * If you want to read exactly the specified number of bytes, use * asyncReadIntoBuffer:exactLength:block:. Note that a read can even return 0 * bytes - this does not necessarily mean that the stream ended, so you still * need to check isAtEndOfStream. * * @param buffer The buffer into which the data is read. * The buffer must not be free'd before the async read completed! * @param length The length of the data that should be read at most. * The buffer <i>must</i> be at least this big! * @param target The target on which the selector should be called when the * data has been received. If the method returns YES, it will be * called again with the same buffer and maximum length when more * data has been received. If you want the next method in the * queue to handle the data received next, you need to return NO * from the method. * @param selector The selector to call on the target. The signature must be * BOOL (OFStream *stream, void *buffer, size_t size, * OFException *exception). */ - (void)asyncReadIntoBuffer: (void*)buffer length: (size_t)length target: (id)target selector: (SEL)selector; /*! * @brief Asyncronously reads exactly the specified length bytes from the * stream into a buffer. * * Unlike asyncReadIntoBuffer:length:block, this method does not call the * method when less than the specified length has been read - instead, it waits * until it got exactly the specified length, the stream has ended or an * exception occurred. * * @param buffer The buffer into which the data is read * @param length The length of the data that should be read. * The buffer <i>must</i> be <i>exactly</i> this big! * @param target The target on which the selector should be called when the * data has been received. If the method returns YES, it will be * called again with the same buffer and exact length when more * data has been received. If you want the next method in the * queue to handle the data received next, you need to return NO * from the method. * @param selector The selector to call on the target. The signature must be * BOOL (OFStream *stream, void *buffer, size_t size, * OFException *exception). */ - (void)asyncReadIntoBuffer: (void*)buffer exactLength: (size_t)length target: (id)target selector: (SEL)selector; #ifdef OF_HAVE_BLOCKS /*! * @brief Asyncronously reads <i>at most</i> size bytes from the stream into a * buffer. * * On network streams, this might read less than the specified number of bytes. * If you want to read exactly the specified number of bytes, use * asyncReadIntoBuffer:exactLength:block:. Note that a read can even return 0 * bytes - this does not necessarily mean that the stream ended, so you still * need to check isAtEndOfStream. * * @param buffer The buffer into which the data is read. * The buffer must not be free'd before the async read completed! * @param length The length of the data that should be read at most. * The buffer <i>must</i> be at least this big! * @param block The block to call when the data has been received. * If the block returns YES, it will be called again with the same * buffer and maximum length when more data has been received. If * you want the next block in the queue to handle the data * received next, you need to return NO from the block. */ - (void)asyncReadIntoBuffer: (void*)buffer length: (size_t)length block: (of_stream_async_read_block_t)block; /*! * @brief Asyncronously reads exactly the specified length bytes from the * stream into a buffer. * * Unlike asyncReadIntoBuffer:length:block, this method does not invoke the * block when less than the specified length has been read - instead, it waits * until it got exactly the specified length, the stream has ended or an * exception occurred. * * @param buffer The buffer into which the data is read * @param length The length of the data that should be read. * The buffer <i>must</i> be <i>exactly</i> this big! * @param block The block to call when the data has been received. * If the block returns YES, it will be called again with the same * buffer and exact length when more data has been received. If * you want the next block in the queue to handle the data * received next, you need to return NO from the block. */ - (void)asyncReadIntoBuffer: (void*)buffer exactLength: (size_t)length block: (of_stream_async_read_block_t)block; #endif /*! * @brief Reads a uint8_t from the stream. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A uint8_t from the stream */ - (uint8_t)readInt8; /*! * @brief Reads a uint16_t from the stream which is encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A uint16_t from the stream in native endianess */ - (uint16_t)readBigEndianInt16; /*! * @brief Reads a uint32_t from the stream which is encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A uint32_t from the stream in the native endianess */ - (uint32_t)readBigEndianInt32; /*! * @brief Reads a uint64_t from the stream which is encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A uint64_t from the stream in the native endianess */ - (uint64_t)readBigEndianInt64; /*! * @brief Reads a float from the stream which is encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A float from the stream in the native endianess */ - (float)readBigEndianFloat; /*! * @brief Reads a double from the stream which is encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A double from the stream in the native endianess */ - (double)readBigEndianDouble; /*! * @brief Reads the specified number of uint16_ts from the stream which are * encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nInt16s The number of uint16_ts to read * @param buffer A buffer of sufficient size to store the specified number of * uint16_ts * @return The number of bytes read */ - (size_t)readBigEndianInt16sIntoBuffer: (uint16_t*)buffer count: (size_t)nInt16s; /*! * @brief Reads the specified number of uint32_ts from the stream which are * encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nInt32s The number of uint32_ts to read * @param buffer A buffer of sufficient size to store the specified number of * uint32_ts * @return The number of bytes read */ - (size_t)readBigEndianInt32sIntoBuffer: (uint32_t*)buffer count: (size_t)nInt32s; /*! * @brief Reads the specified number of uint64_ts from the stream which are * encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nInt64s The number of uint64_ts to read * @param buffer A buffer of sufficient size to store the specified number of * uint64_ts * @return The number of bytes read */ - (size_t)readBigEndianInt64sIntoBuffer: (uint64_t*)buffer count: (size_t)nInt64s; /*! * @brief Reads the specified number of floats from the stream which are encoded * in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nFloatss The number of floats to read * @param buffer A buffer of sufficient size to store the specified number of * floats * @return The number of bytes read */ - (size_t)readBigEndianFloatsIntoBuffer: (float*)buffer count: (size_t)nFloats; /*! * @brief Reads the specified number of doubles from the stream which are * encoded in big endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nDoubles The number of doubles to read * @param buffer A buffer of sufficient size to store the specified number of * doubles * @return The number of bytes read */ - (size_t)readBigEndianDoublesIntoBuffer: (double*)buffer count: (size_t)nDoubles; /*! * @brief Reads a uint16_t from the stream which is encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A uint16_t from the stream in native endianess */ - (uint16_t)readLittleEndianInt16; /*! * @brief Reads a uint32_t from the stream which is encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A uint32_t from the stream in the native endianess */ - (uint32_t)readLittleEndianInt32; /*! * @brief Reads a uint64_t from the stream which is encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A uint64_t from the stream in the native endianess */ - (uint64_t)readLittleEndianInt64; /*! * @brief Reads a float from the stream which is encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A float from the stream in the native endianess */ - (float)readLittleEndianFloat; /*! * @brief Reads a double from the stream which is encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @return A double from the stream in the native endianess */ - (double)readLittleEndianDouble; /*! * @brief Reads the specified number of uint16_ts from the stream which are * encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nInt16s The number of uint16_ts to read * @param buffer A buffer of sufficient size to store the specified number of * uint16_ts * @return The number of bytes read */ - (size_t)readLittleEndianInt16sIntoBuffer: (uint16_t*)buffer count: (size_t)nInt16s; /*! * @brief Reads the specified number of uint32_ts from the stream which are * encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nInt32s The number of uint32_ts to read * @param buffer A buffer of sufficient size to store the specified number of * uint32_ts * @return The number of bytes read */ - (size_t)readLittleEndianInt32sIntoBuffer: (uint32_t*)buffer count: (size_t)nInt32s; /*! * @brief Reads the specified number of uint64_ts from the stream which are * encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nInt64s The number of uint64_ts to read * @param buffer A buffer of sufficient size to store the specified number of * uint64_ts * @return The number of bytes read */ - (size_t)readLittleEndianInt64sIntoBuffer: (uint64_t*)buffer count: (size_t)nInt64s; /*! * @brief Reads the specified number of floats from the stream which are * encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nFloats The number of floats to read * @param buffer A buffer of sufficient size to store the specified number of * floats * @return The number of bytes read */ - (size_t)readLittleEndianFloatsIntoBuffer: (float*)buffer count: (size_t)nFloats; /*! * @brief Reads the specified number of doubles from the stream which are * encoded in little endian. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nDoubles The number of doubles to read * @param buffer A buffer of sufficient size to store the specified number of * doubles * @return The number of bytes read */ - (size_t)readLittleEndianDoublesIntoBuffer: (double*)buffer count: (size_t)nDoubles; /*! * @brief Reads the specified number of items with an item size of 1 from the * stream and returns them in an OFDataArray. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param nItems The number of items to read * @return An OFDataArray with at nItems items. */ - (OFDataArray*)readDataArrayWithSize: (size_t)size; /*! * @brief Reads the specified number of items with the specified item size from * the stream and returns them in an OFDataArray. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param itemSize The size of each item * @param nItems The number of items to read * @return An OFDataArray with at nItems items. */ - (OFDataArray*)readDataArrayWithItemSize: (size_t)itemSize count: (size_t)nItems; /*! * @brief Returns an OFDataArray with all the remaining data of the stream. * * @return An OFDataArray with an item size of 1 with all the data of the * stream until the end of the stream is reached. */ - (OFDataArray*)readDataArrayTillEndOfStream; /*! * @brief Reads a string with the specified length from the stream. * * If a \\0 appears in the stream, the string will be truncated at the \\0 and * the rest of the bytes of the string will be lost. This way, reading from the * stream will not break because of a \\0 because the specified number of bytes * is still being read and only the string gets truncated. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param length The length (in bytes) of the string to read from the stream * @return A string with the specified length */ - (OFString*)readStringWithLength: (size_t)length; /*! * @brief Reads a string with the specified encoding and length from the stream. * * If a \\0 appears in the stream, the string will be truncated at the \\0 and * the rest of the bytes of the string will be lost. This way, reading from the * stream will not break because of a \\0 because the specified number of bytes * is still being read and only the string gets truncated. * * @warning Only call this when you know that enough data is available! * Otherwise you will get an exception! * * @param encoding The encoding of the string to read from the stream * @param length The length (in bytes) of the string to read from the stream * @return A string with the specified length */ - (OFString*)readStringWithLength: (size_t)length encoding: (of_string_encoding_t)encoding; /*! * @brief Reads until a newline, \\0 or end of stream occurs. * * @return The line that was read, autoreleased, or nil if the end of the * stream has been reached. */ - (OFString*)readLine; /*! * @brief Reads with the specified encoding until a newline, \\0 or end of * stream occurs. * * @param encoding The encoding used by the stream * @return The line that was read, autoreleased, or nil if the end of the * stream has been reached. */ - (OFString*)readLineWithEncoding: (of_string_encoding_t)encoding; /*! * @brief Asyncronously reads until a newline, \\0, end of stream or an * exception occurs. * * @param target The target on which to call the selector when the data has * been received. If the method returns YES, it will be called * again when the next line has been received. If you want the * next method in the queue to handle the next line, you need to * return NO from the method * @param selector The selector to call on the target. The signature must be * BOOL (OFStream *stream, OFString *line, * OFException *exception). */ - (void)asyncReadLineWithTarget: (id)target selector: (SEL)selector; /*! * @brief Asyncronously reads with the specified encoding until a newline, \\0, * end of stream or an exception occurs. * * @param encoding The encoding used by the stream * @param target The target on which to call the selector when the data has * been received. If the method returns YES, it will be called * again when the next line has been received. If you want the * next method in the queue to handle the next line, you need to * return NO from the method * @param selector The selector to call on the target. The signature must be * BOOL (OFStream *stream, OFString *line, * OFException *exception). */ - (void)asyncReadLineWithEncoding: (of_string_encoding_t)encoding target: (id)target selector: (SEL)selector; #ifdef OF_HAVE_BLOCKS /*! * @brief Asyncronously reads until a newline, \\0, end of stream or an * exception occurs. * * @param block The block to call when the data has been received. * If the block returns YES, it will be called again when the next * line has been received. If you want the next block in the queue * to handle the next line, you need to return NO from the block. */ - (void)asyncReadLineWithBlock: (of_stream_async_read_line_block_t)block; /*! * @brief Asyncronously reads with the specified encoding until a newline, \\0, * end of stream or an exception occurs. * * @param encoding The encoding used by the stream * @param block The block to call when the data has been received. * If the block returns YES, it will be called again when the next * line has been received. If you want the next block in the queue * to handle the next line, you need to return NO from the block. */ - (void)asyncReadLineWithEncoding: (of_string_encoding_t)encoding block: (of_stream_async_read_line_block_t)block; #endif /*! * @brief Tries to read a line from the stream (see readLine) and returns nil if * no complete line has been received yet. * * @return The line that was read, autoreleased, or nil if the line is not * complete yet */ - (OFString*)tryReadLine; /*! * @brief Tries to read a line from the stream with the specified encoding (see * readLineWithEncoding:) and returns nil if no complete line has been * received yet. * * @param encoding The encoding used by the stream * @return The line that was read, autoreleased, or nil if the line is not * complete yet */ - (OFString*)tryReadLineWithEncoding: (of_string_encoding_t)encoding; /*! * @brief Reads until the specified string or \\0 is found or the end of stream * occurs. * * @param delimiter The delimiter * @return The line that was read, autoreleased, or nil if the end of the * stream has been reached. */ - (OFString*)readTillDelimiter: (OFString*)delimiter; /*! * @brief Reads until the specified string or \\0 is found or the end of stream * occurs. * * @param delimiter The delimiter * @param encoding The encoding used by the stream * @return The line that was read, autoreleased, or nil if the end of the * stream has been reached. */ - (OFString*)readTillDelimiter: (OFString*)delimiter encoding: (of_string_encoding_t)encoding; /*! * @brief Tries to reads until the specified string or \\0 is found or the end * of stream (see readTillDelimiter:) and returns nil if not enough data * has been received yet. * * @param delimiter The delimiter * @return The line that was read, autoreleased, or nil if the end of the * stream has been reached. */ - (OFString*)tryReadTillDelimiter: (OFString*)delimiter; /*! * @brief Tries to read until the specified string or \\0 is found or the end * of stream occurs (see readTIllDelimiterWithEncoding:) and returns nil * if not enough data has been received yet. * * @param delimiter The delimiter * @param encoding The encoding used by the stream * @return The line that was read, autoreleased, or nil if the end of the * stream has been reached. */ - (OFString*)tryReadTillDelimiter: (OFString*)delimiter encoding: (of_string_encoding_t)encoding; /*! * @brief Returns a boolen whether writes are buffered. * * @return A boolean whether writes are buffered */ - (BOOL)writeBufferEnabled; /*! * @brief Enables or disables the write buffer. * * @param enable Whether the write buffer should be enabled or disabled */ - (void)setWriteBufferEnabled: (BOOL)enable; /*! * @brief Writes everythig in the write buffer to the stream. */ - (void)flushWriteBuffer; /*! * @brief Writes from a buffer into the stream. * * @param buffer The buffer from which the data is written to the stream * @param length The length of the data that should be written */ - (void)writeBuffer: (const void*)buffer length: (size_t)length; /*! * @brief Writes a uint8_t into the stream. * * @param int8 A uint8_t */ - (void)writeInt8: (uint8_t)int8; /*! * @brief Writes a uint16_t into the stream, encoded in big endian. * * @param int16 A uint16_t */ - (void)writeBigEndianInt16: (uint16_t)int16; /*! * @brief Writes a uint32_t into the stream, encoded in big endian. * * @param int32 A uint32_t */ - (void)writeBigEndianInt32: (uint32_t)int32; /*! * @brief Writes a uint64_t into the stream, encoded in big endian. * * @param int64 A uint64_t */ - (void)writeBigEndianInt64: (uint64_t)int64; /*! * @brief Writes a float into the stream, encoded in big endian. * * @param float_ A float */ - (void)writeBigEndianFloat: (float)float_; /*! * @brief Writes a double into the stream, encoded in big endian. * * @param double_ A double */ - (void)writeBigEndianDouble: (double)double_; /*! * @brief Writes the specified number of uint16_ts into the stream, encoded in * big endian. * * @param nInt16 The number of uint16_ts to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeBigEndianInt16s: (const uint16_t*)buffer count: (size_t)nInt16s; /*! * @brief Writes the specified number of uint32_ts into the stream, encoded in * big endian. * * @param nInt32 The number of uint32_ts to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeBigEndianInt32s: (const uint32_t*)buffer count: (size_t)nInt32s; /*! * @brief Writes the specified number of uint64_ts into the stream, encoded in * big endian. * * @param nInt64 The number of uint64_ts to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeBigEndianInt64s: (const uint64_t*)buffer count: (size_t)nInt64s; /*! * @brief Writes the specified number of floats into the stream, encoded in big * endian. * * @param nFloats The number of floats to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeBigEndianFloats: (const float*)buffer count: (size_t)nFloats; /*! * @brief Writes the specified number of doubles into the stream, encoded in * big endian. * * @param nDoubles The number of doubles to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeBigEndianDoubles: (const double*)buffer count: (size_t)nDoubles; /*! * @brief Writes a uint16_t into the stream, encoded in little endian. * * @param int16 A uint16_t */ - (void)writeLittleEndianInt16: (uint16_t)int16; /*! * @brief Writes a uint32_t into the stream, encoded in little endian. * * @param int32 A uint32_t */ - (void)writeLittleEndianInt32: (uint32_t)int32; /*! * @brief Writes a uint64_t into the stream, encoded in little endian. * * @param int64 A uint64_t */ - (void)writeLittleEndianInt64: (uint64_t)int64; /*! * @brief Writes a float into the stream, encoded in little endian. * * @param float_ A float */ - (void)writeLittleEndianFloat: (float)float_; /*! * @brief Writes a double into the stream, encoded in little endian. * * @param double_ A double */ - (void)writeLittleEndianDouble: (double)double_; /*! * @brief Writes the specified number of uint16_ts into the stream, encoded in * little endian. * * @param nInt16 The number of uint16_ts to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeLittleEndianInt16s: (const uint16_t*)buffer count: (size_t)nInt16s; /*! * @brief Writes the specified number of uint32_ts into the stream, encoded in * little endian. * * @param nInt32 The number of uint32_ts to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeLittleEndianInt32s: (const uint32_t*)buffer count: (size_t)nInt32s; /*! * @brief Writes the specified number of uint64_ts into the stream, encoded in * little endian. * * @param nInt64 The number of uint64_ts to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeLittleEndianInt64s: (const uint64_t*)buffer count: (size_t)nInt64s; /*! * @brief Writes the specified number of floats into the stream, encoded in * little endian. * * @param nFloats The number of floats to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeLittleEndianFloats: (const float*)buffer count: (size_t)nFloats; /*! * @brief Writes the specified number of doubles into the stream, encoded in * little endian. * * @param nDoubles The number of doubles to write * @param buffer The buffer from which the data is written to the stream after * it has been byte swapped if necessary * @return The number of bytes written to the stream */ - (size_t)writeLittleEndianDoubles: (const double*)buffer count: (size_t)nDoubles; /*! * @brief Writes from an OFDataArray into the stream. * * @param dataArray The OFDataArray to write into the stream * @return The number of bytes written */ - (size_t)writeDataArray: (OFDataArray*)dataArray; /*! * @brief Writes a string into the stream, without the trailing zero. * * @param string The string from which the data is written to the stream * @return The number of bytes written */ - (size_t)writeString: (OFString*)string; /*! * @brief Writes a string into the stream with a trailing newline. * * @param string The string from which the data is written to the stream * @return The number of bytes written */ - (size_t)writeLine: (OFString*)string; /*! * @brief Writes a formatted string into the stream. * * See printf for the format syntax. As an addition, %@ is available as format * specifier for objects. * * @param format A string used as format * @return The number of bytes written */ - (size_t)writeFormat: (OFConstantString*)format, ...; /*! * @brief Writes a formatted string into the stream. * * See printf for the format syntax. As an addition, %@ is available as format * specifier for objects. * * @param format A string used as format * @param arguments The arguments used in the format string * @return The number of bytes written */ - (size_t)writeFormat: (OFConstantString*)format arguments: (va_list)arguments; /*! * @brief Returns the number of bytes still present in the internal read cache. * * @return The number of bytes still present in the internal read cache. */ - (size_t)pendingBytes; /*! * @brief Returns whether the stream is in blocking mode. * * @return Whether the stream is in blocking mode */ - (BOOL)isBlocking; /*! * @brief Enables or disables non-blocking I/O. * * By default, a stream is in blocking mode. * On Win32, this currently only works for sockets! * * @param enable Whether the stream should be blocking */ - (void)setBlocking: (BOOL)enable; /*! * @brief Returns the file descriptor for the read end of the stream. * * @return The file descriptor for the read end of the stream */ - (int)fileDescriptorForReading; /*! * @brief Returns the file descriptor for the write end of the stream. * * @return The file descriptor for the write end of the stream */ - (int)fileDescriptorForWriting; /*! * @brief Closes the stream. */ - (void)close; /*! * @brief Performs a lowlevel read. * * @warning Do not call this directly! * * Override this method with your actual read implementation when subclassing! * * @param buffer The buffer for the data to read * @param length The length of the buffer * @return The number of bytes read */ - (size_t)lowlevelReadIntoBuffer: (void*)buffer length: (size_t)length; /*! * @brief Performs a lowlevel write. * * @warning Do not call this directly! * * Override this method with your actual write implementation when subclassing! * * @param buffer The buffer with the data to write * @param length The length of the data to write */ - (void)lowlevelWriteBuffer: (const void*)buffer length: (size_t)length; /*! * @brief Returns whether the lowlevel is at the end of the stream. * * @warning Do not call this directly! * * Override this method with your actual end of stream checking implementation * when subclassing! * * @return Whether the lowlevel is at the end of the stream */ - (BOOL)lowlevelIsAtEndOfStream; - (BOOL)OF_isWaitingForDelimiter; @end |
Modified src/OFStreamObserver.h from [85b360a246] to [714bdc609e].
︙ | ︙ | |||
26 27 28 29 30 31 32 | @class OFStream; @class OFMutableArray; @class OFMutableDictionary; @class OFDataArray; @class OFMutex; | | | | | | | | | | | | | | | 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 | @class OFStream; @class OFMutableArray; @class OFMutableDictionary; @class OFDataArray; @class OFMutex; /*! * @brief A protocol that needs to be implemented by delegates for * OFStreamObserver. */ #ifndef OF_STREAM_OBSERVER_M @protocol OFStreamObserverDelegate <OFObject> #else @protocol OFStreamObserverDelegate #endif #ifdef OF_HAVE_OPTIONAL_PROTOCOLS @optional #endif /*! * @brief This callback is called when a stream did get ready for reading. * * NOTE: When -[tryReadLine] or -[tryReadTillDelimiter:] has been called on the * the stream, this callback will not be called again until new data has * been received, even though there is still data in the cache. The reason * for this is to prevent spinning in a loop when there is an incomplete * string in the cache. Once the string is complete, the callback will be * called again if there is data in the cache. * * @param stream The stream which did become ready for reading */ - (void)streamIsReadyForReading: (OFStream*)stream; /*! * @brief This callback is called when a stream did get ready for writing. * * @param stream The stream which did become ready for writing */ - (void)streamIsReadyForWriting: (OFStream*)stream; /*! * @brief This callback is called when an exception occurred on the stream. * * @param stream The stream on which an exception occurred */ - (void)streamDidReceiveException: (OFStream*)stream; @end /*! * @brief A class that can observe multiple streams at once. * * Note: Currently, Win32 can only observe sockets and not files! */ @interface OFStreamObserver: OFObject { OFMutableArray *readStreams; OFMutableArray *writeStreams; |
︙ | ︙ | |||
92 93 94 95 96 97 98 | OFMutex *mutex; } #ifdef OF_HAVE_PROPERTIES @property (assign) id <OFStreamObserverDelegate> delegate; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | OFMutex *mutex; } #ifdef OF_HAVE_PROPERTIES @property (assign) id <OFStreamObserverDelegate> delegate; #endif /*! * @brief Creates a new OFStreamObserver. * * @return A new, autoreleased OFStreamObserver */ + (instancetype)observer; /*! * @brief Returns the delegate for the OFStreamObserver. * * @return The delegate for the OFStreamObserver */ - (id <OFStreamObserverDelegate>)delegate; /*! * @brief Sets the delegate for the OFStreamObserver. * * @param delegate The delegate for the OFStreamObserver */ - (void)setDelegate: (id <OFStreamObserverDelegate>)delegate; /*! * @brief Adds a stream to observe for reading. * * This is also used to observe a listening socket for incoming connections, * which then triggers a read event for the observed stream. * * It is recommended that the stream you add is set to non-blocking mode. * * If there is an -[observe] call blocking, it will be canceled. The reason for * this is to prevent blocking even though the new added stream is ready. * * @param stream The stream to observe for reading */ - (void)addStreamForReading: (OFStream*)stream; /*! * @brief Adds a stream to observe for writing. * * It is recommended that the stream you add is set to non-blocking mode. * * If there is an -[observe] call blocking, it will be canceled. The reason for * this is to prevent blocking even though the new added stream is ready. * * @param stream The stream to observe for writing */ - (void)addStreamForWriting: (OFStream*)stream; /*! * @brief Removes a stream to observe for reading. * * If there is an -[observe] call blocking, it will be canceled. The reason for * this is to prevent the removed stream from still being observed. * * @param stream The stream to remove from observing for reading */ - (void)removeStreamForReading: (OFStream*)stream; /*! * @brief Removes a stream to observe for writing. * * If there is an -[observe] call blocking, it will be canceled. The reason for * this is to prevent the removed stream from still being observed. * * @param stream The stream to remove from observing for writing */ - (void)removeStreamForWriting: (OFStream*)stream; /*! * @brief Observes all streams and blocks until an event happens on a stream. */ - (void)observe; /*! * @brief Observes all streams until an event happens on a stream or the * timeout is reached. * * @param timeout The time to wait for an event, in seconds * @return A boolean whether events occurred during the timeinterval */ - (BOOL)observeWithTimeout: (double)timeout; /*! * @brief Cancels the currently blocking observe call. * * This is automatically done when a new stream is added or removed by another * thread, but in some circumstances, it might be desirable for a thread to * manually stop the observe running in another thread. */ - (void)cancel; |
︙ | ︙ |
Modified src/OFStreamSocket.h from [943ba253dc] to [70d0ff65e2].
︙ | ︙ | |||
19 20 21 22 23 24 25 | #ifdef _WIN32 # ifndef _WIN32_WINNT # define _WIN32_WINNT 0x0501 # endif # include <winsock2.h> #endif | | | | | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | #ifdef _WIN32 # ifndef _WIN32_WINNT # define _WIN32_WINNT 0x0501 # endif # include <winsock2.h> #endif /*! * @brief A class which provides functions to create and use stream sockets. */ @interface OFStreamSocket: OFStream { int sock; BOOL atEndOfStream; } /*! * @brief Returns a new, autoreleased OFTCPSocket. * * @return A new, autoreleased OFTCPSocket */ + (instancetype)socket; @end |
Modified src/OFString+Hashing.h from [626fd3c06c] to [a3bf7e32c9].
︙ | ︙ | |||
20 21 22 23 24 25 26 | extern "C" { #endif extern int _OFString_Hashing_reference; #ifdef __cplusplus } #endif | | | | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | extern "C" { #endif extern int _OFString_Hashing_reference; #ifdef __cplusplus } #endif /*! * @brief The OFString (Hashing) category provides methods to calculate hashes * for strings. */ @interface OFString (Hashing) /*! * @brief Returns the MD5 hash of the string as an autoreleased OFString. * * @return The MD5 hash of the string as an autoreleased OFString */ - (OFString*)MD5Hash; /*! * @brief Returns the SHA1 hash of the string as an autoreleased OFString. * * @return The SHA1 hash of the string as an autoreleased OFString */ - (OFString*)SHA1Hash; @end |
Modified src/OFString+JSONValue.h from [9180243d68] to [90f09f4010].
︙ | ︙ | |||
21 22 23 24 25 26 27 | #endif extern int _OFString_JSONValue_reference; #ifdef __cplusplus } #endif @interface OFString (JSONValue) | | | | | | | 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 | #endif extern int _OFString_JSONValue_reference; #ifdef __cplusplus } #endif @interface OFString (JSONValue) /*! * @brief Creates an object from the JSON value of the string. * * @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 * single primitive, leading to realworld JSON files sometimes only * consisting of a single primitive. Therefore, you should not make any * assumptions about the object returned by this method if you don't * want your program to terminate due to a message not understood, but * instead check the returned object using -[isKindOfClass:]. * * @return An object */ - (id)JSONValue; @end |
Modified src/OFString+Serialization.h from [d335c316a5] to [3afcf0ccb3].
︙ | ︙ | |||
20 21 22 23 24 25 26 | extern "C" { #endif extern int _OFString_Serialization_reference; #ifdef __cplusplus } #endif | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | extern "C" { #endif extern int _OFString_Serialization_reference; #ifdef __cplusplus } #endif /*! * @brief A category that provides methods for deserializing objects. */ @interface OFString (OFSerialization) /*! * @brief Deserializes the receiver into an object. * * @return The deserialized object */ - (id)objectByDeserializing; @end |
Modified src/OFString+URLEncoding.h from [989d18b1da] to [cdcbb64a84].
︙ | ︙ | |||
20 21 22 23 24 25 26 | extern "C" { #endif extern int _OFString_URLEncoding_reference; #ifdef __cplusplus } #endif | | | | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 | extern "C" { #endif extern int _OFString_URLEncoding_reference; #ifdef __cplusplus } #endif /*! * @brief A category which provides URL encoding and decoding. */ @interface OFString (URLEncoding) /*! * @brief Encodes a string for use in a URL. * * @return A new autoreleased string */ - (OFString*)stringByURLEncoding; /*! * @brief Decodes a string used in a URL. * * @return A new autoreleased string */ - (OFString*)stringByURLDecoding; @end |
Modified src/OFString+XMLEscaping.h from [e0a4db1205] to [14f7f4c39a].
︙ | ︙ | |||
20 21 22 23 24 25 26 | extern "C" { #endif extern int _OFString_XMLEscaping_reference; #ifdef __cplusplus } #endif | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | extern "C" { #endif extern int _OFString_XMLEscaping_reference; #ifdef __cplusplus } #endif /*! * @brief A category to escape strings for use in an XML document. */ @interface OFString (XMLEscaping) /*! * @brief Escapes a string for use in an XML document. * * @return A new autoreleased string */ - (OFString*)stringByXMLEscaping; @end |
Modified src/OFString+XMLUnescaping.h from [3d118891eb] to [0af39e8a26].
︙ | ︙ | |||
25 26 27 28 29 30 31 | #endif #ifdef OF_HAVE_BLOCKS typedef OFString* (^of_string_xml_unescaping_block_t)(OFString *str, OFString *entity); #endif | | | | | | | | | | | | | | | | | | | 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 | #endif #ifdef OF_HAVE_BLOCKS typedef OFString* (^of_string_xml_unescaping_block_t)(OFString *str, OFString *entity); #endif /*! * @brief A protocol that needs to be implemented by delegates for * -[stringByXMLUnescapingWithHandler:]. */ @protocol OFStringXMLUnescapingDelegate <OFObject> /*! * @brief This callback is called when an unknown entity was found while trying * to unescape XML. * * The callback is supposed to return a substitution for the entity or nil if * it is unknown to the callback as well, in which case an exception will be * thrown. * * @param str The string which contains the unknown entity * @param entity The name of the entity that is unknown * @return A substitution for the entity or nil */ - (OFString*)string: (OFString*)str containsUnknownEntityNamed: (OFString*)entity; @end /*! * @brief A category for unescaping XML in strings. */ @interface OFString (XMLUnescaping) /*! * @brief Unescapes XML in the string. */ - (OFString*)stringByXMLUnescaping; /*! * @brief Unescapes XML in the string and uses the specified delegate for * unknown entities. * * @param delegate An OFXMLUnescapingDelegate as a handler for unknown entities */ - (OFString*)stringByXMLUnescapingWithDelegate: (id <OFStringXMLUnescapingDelegate>)delegate; #ifdef OF_HAVE_BLOCKS /*! * @brief Unescapes XML in the string and uses the specified block for unknown * entities. * * @param block A block which handles unknown entities */ - (OFString*)stringByXMLUnescapingWithBlock: (of_string_xml_unescaping_block_t)block; #endif @end |
Modified src/OFString.h from [1cf435b925] to [3cea6d45eb].
︙ | ︙ | |||
28 29 30 31 32 33 34 | #import "OFSerialization.h" #import "OFJSONRepresentation.h" @class OFConstantString; typedef uint32_t of_unichar_t; | | | | 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | #import "OFSerialization.h" #import "OFJSONRepresentation.h" @class OFConstantString; typedef uint32_t of_unichar_t; /*! * @brief The encoding of a string. */ typedef enum of_string_encoding_t { OF_STRING_ENCODING_UTF_8, OF_STRING_ENCODING_ASCII, OF_STRING_ENCODING_ISO_8859_1, OF_STRING_ENCODING_ISO_8859_15, OF_STRING_ENCODING_WINDOWS_1252, |
︙ | ︙ | |||
69 70 71 72 73 74 75 | #ifdef __cplusplus } #endif @class OFArray; @class OFURL; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 779 780 781 782 783 784 785 786 787 788 789 790 791 792 793 794 795 796 797 798 799 800 801 802 803 804 805 806 807 808 809 810 811 812 813 814 815 816 817 818 819 820 821 822 823 824 825 826 827 828 829 830 831 832 833 834 835 836 837 838 839 840 841 842 843 844 845 846 847 848 849 850 851 852 853 854 855 856 857 858 859 860 861 862 863 864 865 866 867 868 869 870 871 872 873 874 875 876 877 878 879 880 881 882 883 884 885 886 887 888 889 890 891 892 893 894 895 896 897 898 899 900 901 902 903 904 905 906 907 908 909 910 911 912 | #ifdef __cplusplus } #endif @class OFArray; @class OFURL; /*! * @brief A class for handling strings. * * <b>Warning:</b> If you add methods to OFString using a category, you are not * allowed to access the ivars directly, as these might be still uninitialized * for a constant string and get initialized on the first message! Therefore, * you should use the corresponding methods to get the ivars, which ensures the * constant string is initialized. */ @interface OFString: OFObject <OFCopying, OFMutableCopying, OFComparing, OFSerialization, OFJSONRepresentation> #ifdef OF_HAVE_PROPERTIES @property (readonly) size_t length; #endif /*! * @brief Creates a new OFString. * * @return A new, autoreleased OFString */ + (instancetype)string; /*! * @brief Creates a new OFString from a UTF-8 encoded C string. * * @param UTF8String A UTF-8 encoded C string to initialize the OFString with * @return A new autoreleased OFString */ + (instancetype)stringWithUTF8String: (const char*)UTF8String; /*! * @brief Creates a new OFString from a UTF-8 encoded C string with the * specified length. * * @param UTF8String A UTF-8 encoded C string to initialize the OFString with * @param UTF8StringLength The length of the UTF-8 encoded C string * @return A new autoreleased OFString */ + (instancetype)stringWithUTF8String: (const char*)UTF8String length: (size_t)UTF8StringLength; /*! * @brief Creates a new OFString from a C string with the specified encoding. * * @param string A C string to initialize the OFString with * @param encoding The encoding of the C string * @return A new autoreleased OFString */ + (instancetype)stringWithCString: (const char*)cString encoding: (of_string_encoding_t)encoding; /*! * @brief Creates a new OFString from a C string with the specified encoding * and length. * * @param cString A C string to initialize the OFString with * @param encoding The encoding of the C string * @param cStringLength The length of the C string * @return A new autoreleased OFString */ + (instancetype)stringWithCString: (const char*)cString encoding: (of_string_encoding_t)encoding length: (size_t)cStringLength; /*! * @brief Creates a new OFString from another string. * * @param string A string to initialize the OFString with * @return A new autoreleased OFString */ + (instancetype)stringWithString: (OFString*)string; /*! * @brief Creates a new OFString from a unicode string. * * @param string The unicode string * @return A new autoreleased OFString */ + (instancetype)stringWithUnicodeString: (const of_unichar_t*)string; /*! * @brief Creates a new OFString from a unicode string, assuming the specified * byte order if no BOM is found. * * @param string The unicode string * @param byteOrder The byte order to assume if there is no BOM * @return A new autoreleased OFString */ + (instancetype)stringWithUnicodeString: (const of_unichar_t*)string byteOrder: (of_byte_order_t)byteOrder; /*! * @brief Creates a new OFString from a unicode string with the specified * length. * * @param string The unicode string * @param length The length of the unicode string * @return A new autoreleased OFString */ + (instancetype)stringWithUnicodeString: (const of_unichar_t*)string length: (size_t)length; /*! * @brief Creates a new OFString from a unicode string with the specified * length, assuming the specified byte order if no BOM is found. * * @param string The unicode string * @param byteOrder The byte order to assume if there is no BOM * @param length The length of the unicode string * @return A new autoreleased OFString */ + (instancetype)stringWithUnicodeString: (const of_unichar_t*)string byteOrder: (of_byte_order_t)byteOrder length: (size_t)length; /*! * @brief Creates a new OFString from a UTF-16 encoded string. * * @param string The UTF-16 string * @return A new autoreleased OFString */ + (instancetype)stringWithUTF16String: (const uint16_t*)string; /*! * @brief Creates a new OFString from a UTF-16 encoded string, assuming the * specified byte order if no BOM is found. * * @param string The UTF-16 string * @param byteOrder The byte order to assume if there is no BOM * @return A new autoreleased OFString */ + (instancetype)stringWithUTF16String: (const uint16_t*)string byteOrder: (of_byte_order_t)byteOrder; /*! * @brief Creates a new OFString from a UTF-16 encoded string with the specified * length. * * @param string The UTF-16 string * @param length The length of the unicode string * @return A new autoreleased OFString */ + (instancetype)stringWithUTF16String: (const uint16_t*)string length: (size_t)length; /*! * @brief Creates a new OFString from a UTF-16 encoded string with the * specified length, assuming the specified byte order if no BOM is * found. * * @param string The UTF-16 string * @param byteOrder The byte order to assume if there is no BOM * @param length The length of the unicode string * @return A new autoreleased OFString */ + (instancetype)stringWithUTF16String: (const uint16_t*)string byteOrder: (of_byte_order_t)byteOrder length: (size_t)length; /*! * @brief Creates a new OFString from a format string. * * See printf for the format syntax. As an addition, %@ is available as format * specifier for objects. * * @param format A string used as format to initialize the OFString * @return A new autoreleased OFString */ + (instancetype)stringWithFormat: (OFConstantString*)format, ...; /*! * @brief Creates a new OFString containing the constructed specified path. * * @param firstComponent The first component of the path * @return A new autoreleased OFString */ + (instancetype)stringWithPath: (OFString*)firstComponent, ...; /*! * @brief Creates a new OFString with the contents of the specified UTF-8 * encoded file. * * @param path The path to the file * @return A new autoreleased OFString */ + (instancetype)stringWithContentsOfFile: (OFString*)path; /*! * @brief Creates a new OFString with the contents of the specified file in the * specified encoding. * * @param path The path to the file * @param encoding The encoding of the file * @return A new autoreleased OFString */ + (instancetype)stringWithContentsOfFile: (OFString*)path encoding: (of_string_encoding_t)encoding; /*! * @brief Creates a new OFString with the contents of the specified URL. * * If the URL's scheme is file, it tries UTF-8 encoding. * * If the URL's scheme is http(s), it tries to detect the encoding from the HTTP * headers. If it could not detect the encoding using the HTTP headers, it tries * UTF-8. * * @param URL The URL to the contents for the string * @return A new autoreleased OFString */ + (instancetype)stringWithContentsOfURL: (OFURL*)URL; /*! * @brief Creates a new OFString with the contents of the specified URL in the * specified encoding. * * @param URL The URL to the contents for the string * @param encoding The encoding to assume * @return A new autoreleased OFString */ + (instancetype)stringWithContentsOfURL: (OFURL*)URL encoding: (of_string_encoding_t)encoding; /*! * @brief Initializes an already allocated OFString from a UTF-8 encoded C * string. * * @param UTF8String A UTF-8 encoded C string to initialize the OFString with * @return An initialized OFString */ - initWithUTF8String: (const char*)UTF8String; /*! * @brief Initializes an already allocated OFString from a UTF-8 encoded C * string with the specified length. * * @param UTF8String A UTF-8 encoded C string to initialize the OFString with * @param UTF8StringLength The length of the UTF-8 encoded C string * @return An initialized OFString */ - initWithUTF8String: (const char*)UTF8String length: (size_t)UTF8StringLength; /*! * @brief Initializes an already allocated OFString from an UTF-8 encoded C * string without copying it, if possible. * * @note Mutable versions always create a copy! * * @param UTF8String A UTF-8 encoded C string to initialize the OFString with * @param freeWhenDone Whether to free the C string when it is not needed * anymore * @return An initialized OFString */ - initWithUTF8StringNoCopy: (const char*)UTF8String freeWhenDone: (BOOL)freeWhenDone; /*! * @brief Initializes an already allocated OFString from a C string with the * specified encoding. * * @param cString A C string to initialize the OFString with * @param encoding The encoding of the C string * @return An initialized OFString */ - initWithCString: (const char*)cString encoding: (of_string_encoding_t)encoding; /*! * @brief Initializes an already allocated OFString from a C string with the * specified encoding and length. * * @param cString A C string to initialize the OFString with * @param encoding The encoding of the C string * @param cStringLength The length of the C string * @return An initialized OFString */ - initWithCString: (const char*)cString encoding: (of_string_encoding_t)encoding length: (size_t)cStringLength; /*! * @brief Initializes an already allocated OFString with another string. * * @param string A string to initialize the OFString with * @return An initialized OFString */ - initWithString: (OFString*)string; /*! * @brief Initializes an already allocated OFString with a unicode string. * * @param string The unicode string * @return An initialized OFString */ - initWithUnicodeString: (const of_unichar_t*)string; /*! * @brief Initializes an already allocated OFString with a unicode string, * assuming the specified byte order if no BOM is found. * * @param string The unicode string * @param byteOrder The byte order to assume if there is no BOM * @return An initialized OFString */ - initWithUnicodeString: (const of_unichar_t*)string byteOrder: (of_byte_order_t)byteOrder; /*! * @brief Initializes an already allocated OFString with a unicode string with * the specified length. * * @param string The unicode string * @param length The length of the unicode string * @return An initialized OFString */ - initWithUnicodeString: (const of_unichar_t*)string length: (size_t)length; /*! * @brief Initializes an already allocated OFString with a unicode string with * the specified length, assuming the specified byte order if no BOM is * found. * * @param string The unicode string * @param byteOrder The byte order to assume if there is no BOM * @param length The length of the unicode string * @return An initialized OFString */ - initWithUnicodeString: (const of_unichar_t*)string byteOrder: (of_byte_order_t)byteOrder length: (size_t)length; /*! * @brief Initializes an already allocated OFString with a UTF-16 string. * * @param string The UTF-16 string * @return An initialized OFString */ - initWithUTF16String: (const uint16_t*)string; /*! * @brief Initializes an already allocated OFString with a UTF-16 string, * assuming the specified byte order if no BOM is found. * * @param string The UTF-16 string * @param byteOrder The byte order to assume if there is no BOM * @return An initialized OFString */ - initWithUTF16String: (const uint16_t*)string byteOrder: (of_byte_order_t)byteOrder; /*! * @brief Initializes an already allocated OFString with a UTF-16 string with * the specified length. * * @param string The UTF-16 string * @param length The length of the UTF-16 string * @return An initialized OFString */ - initWithUTF16String: (const uint16_t*)string length: (size_t)length; /*! * @brief Initializes an already allocated OFString with a UTF-16 string with * the specified length, assuming the specified byte order if no BOM is * found. * * @param string The UTF-16 string * @param byteOrder The byte order to assume if there is no BOM * @param length The length of the UTF-16 string * @return An initialized OFString */ - initWithUTF16String: (const uint16_t*)string byteOrder: (of_byte_order_t)byteOrder length: (size_t)length; /*! * @brief Initializes an already allocated OFString with a format string. * * See printf for the format syntax. As an addition, %@ is available as format * specifier for objects. * * @param format A string used as format to initialize the OFString * @return An initialized OFString */ - initWithFormat: (OFConstantString*)format, ...; /*! * @brief Initializes an already allocated OFString with a format string. * * See printf for the format syntax. As an addition, %@ is available as format * specifier for objects. * * @param format A string used as format to initialize the OFString * @param arguments The arguments used in the format string * @return An initialized OFString */ - initWithFormat: (OFConstantString*)format arguments: (va_list)arguments; /*! * @brief Initializes an already allocated OFString with the constructed * specified path. * * @param firstComponent The first component of the path * @return A new autoreleased OFString */ - initWithPath: (OFString*)firstComponent, ...; /*! * @brief Initializes an already allocated OFString with the constructed * specified path. * * @param firstComponent The first component of the path * @param arguments A va_list with the other components of the path * @return A new autoreleased OFString */ - initWithPath: (OFString*)firstComponent arguments: (va_list)arguments; /*! * @brief Initializes an already allocated OFString with the contents of the * specified file in the specified encoding. * * @param path The path to the file * @return An initialized OFString */ - initWithContentsOfFile: (OFString*)path; /*! * @brief Initializes an already allocated OFString with the contents of the * specified file in the specified encoding. * * @param path The path to the file * @param encoding The encoding of the file * @return An initialized OFString */ - initWithContentsOfFile: (OFString*)path encoding: (of_string_encoding_t)encoding; /*! * @brief Initializes an already allocated OFString with the contents of the * specified URL. * * If the URL's scheme is file, it tries UTF-8 encoding. * * If the URL's scheme is http(s), it tries to detect the encoding from the HTTP * headers. If it could not detect the encoding using the HTTP headers, it tries * UTF-8. * * @param URL The URL to the contents for the string * @return An initialized OFString */ - initWithContentsOfURL: (OFURL*)URL; /*! * @brief Initializes an already allocated OFString with the contents of the * specified URL in the specified encoding. * * @param URL The URL to the contents for the string * @param encoding The encoding to assume * @return An initialized OFString */ - initWithContentsOfURL: (OFURL*)URL encoding: (of_string_encoding_t)encoding; /*! * @brief Returns 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. * * @return The OFString as a UTF-8 encoded C string */ - (const char*)UTF8String OF_RETURNS_INNER_POINTER; /*! * @brief Returns the OFString as a C string in the specified encoding. * * 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. * * @param encoding The encoding for the C string * @return The OFString as a C string in the specified encoding */ - (const char*)cStringWithEncoding: (of_string_encoding_t)encoding OF_RETURNS_INNER_POINTER; /*! * @brief Returns the length of the string in Unicode characters. * * @return The length of the string in Unicode characters */ - (size_t)length; /*! * @brief Returns the number of bytes the string needs in UTF-8 encoding. * * @return The number of bytes the string needs in UTF-8 encoding. */ - (size_t)UTF8StringLength; /*! * @brief Returns the number of bytes the string needs in the specified * encoding. * * @param encoding The encoding for the string * @return The number of bytes the string needs in the specified encoding. */ - (size_t)cStringLengthWithEncoding: (of_string_encoding_t)encoding; /*! * @brief Compares the OFString to another OFString without caring about the * case. * * @param otherString A string to compare with * @return An of_comparison_result_t */ - (of_comparison_result_t)caseInsensitiveCompare: (OFString*)otherString; /*! * @brief Returns the Unicode character at the specified index. * * @param index The index of the Unicode character to return * @return The Unicode character at the specified index */ - (of_unichar_t)characterAtIndex: (size_t)index; /*! * @brief Copies the Unicode characters in the specified range to the specified * buffer. * * @param buffer The buffer to store the Unicode characters * @param range The range of the Unicode characters to copy */ - (void)getCharacters: (of_unichar_t*)buffer inRange: (of_range_t)range; /*! * @brief Returns the range of the first occurrence of the string. * * @param string The string to search * @return The range of the first occurrence of the string or a range with * OF_NOT_FOUND as start position if it was not found */ - (of_range_t)rangeOfString: (OFString*)string; /*! * @brief Returns the range of the string. * * @param string The string to search * @param options Options modifying search behaviour. * Possible values: OF_STRING_SEARCH_BACKWARDS * @return The range of the first occurrence of the string or a range with * OF_NOT_FOUND as start position if it was not found */ - (of_range_t)rangeOfString: (OFString*)string options: (int)options; /*! * @brief Returns the range of the string in the specified range. * * @param string The string to search * @param options Options modifying search behaviour. * Possible values: OF_STRING_SEARCH_BACKWARDS * @param range The range in which to search * @return The range of the first occurrence of the string or a range with * OF_NOT_FOUND as start position if it was not found */ - (of_range_t)rangeOfString: (OFString*)string options: (int)options range: (of_range_t)range; /*! * @brief Returns whether the string contains the specified string. * * @param string The string to search * @return Whether the string contains the specified string */ - (BOOL)containsString: (OFString*)string; /*! * @brief Creates a substring with the specified range. * * @param range The range of the substring * @return The substring as a new autoreleased OFString */ - (OFString*)substringWithRange: (of_range_t)range; /*! * @brief Creates a new string by appending another string. * * @param string The string to append * @return A new, autoreleased OFString with the specified string appended */ - (OFString*)stringByAppendingString: (OFString*)string; /*! * @brief Creates a new string by appending a path component. * * @param component The path component to append * @return A new, autoreleased OFString with the path component appended */ - (OFString*)stringByAppendingPathComponent: (OFString*)component; /*! * @brief Creates a new string by prepending another string. * * @param string The string to prepend * @return A new autoreleased OFString with the specified string prepended */ - (OFString*)stringByPrependingString: (OFString*)string; /*! * @brief Creates a new string by replacing the occurrences of the specified * string with the specified replacement. * * @param string The string to replace * @param replacement The string with which it should be replaced * @return A new string with the occurrences of the specified string replaced */ - (OFString*)stringByReplacingOccurrencesOfString: (OFString*)string withString: (OFString*)replacement; /*! * @brief Creates a new string by replacing the occurrences of the specified * string in the specified range with the specified replacement. * * @param string The string to replace * @param replacement The string with which it should be replaced * @param options Options modifying search behaviour. * Possible values: None yet * @param range The range in which to replace the string * @return A new string with the occurrences of the specified string replaced */ - (OFString*)stringByReplacingOccurrencesOfString: (OFString*)string withString: (OFString*)replacement options: (int)options range: (of_range_t)range; /*! * @brief Returns the string in uppercase. * * @return The string in uppercase */ - (OFString*)uppercaseString; /*! * @brief Returns the string in lowercase. * * @return The string in lowercase */ - (OFString*)lowercaseString; /*! * @brief Returns the string capitalized. * * @note This only considers spaces, tab and newlines to be word delimiters! * Also note that this might change in the future to all word delimiters * specified by Unicode! * * @return The capitalized string */ - (OFString*)capitalizedString; /*! * @brief Creates a new string by deleting leading whitespaces. * * @return A new autoreleased OFString with leading whitespaces deleted */ - (OFString*)stringByDeletingLeadingWhitespaces; /*! * @brief Creates a new string by deleting trailing whitespaces. * * @return A new autoreleased OFString with trailing whitespaces deleted */ - (OFString*)stringByDeletingTrailingWhitespaces; /*! * @brief Creates a new string by deleting leading and trailing whitespaces. * * @return A new autoreleased OFString with leading and trailing whitespaces * deleted */ - (OFString*)stringByDeletingEnclosingWhitespaces; /*! * @brief Checks whether the string has the specified prefix. * * @param prefix The prefix to check for * @return A boolean whether the string has the specified prefix */ - (BOOL)hasPrefix: (OFString*)prefix; /*! * @brief Checks whether the string has the specified suffix. * * @param suffix The suffix to check for * @return A boolean whether the string has the specified suffix */ - (BOOL)hasSuffix: (OFString*)suffix; /*! * @brief Separates an OFString into an OFArray of OFStrings. * * @param delimiter The delimiter for separating * @return An autoreleased OFArray with the separated string */ - (OFArray*)componentsSeparatedByString: (OFString*)delimiter; /*! * @brief Separates an OFString into an OFArray of OFStrings. * * @param delimiter The delimiter for separating * @param options Options according to which the string should be separated * Possible values: OF_STRING_SKIP_EMPTY * @return An autoreleased OFArray with the separated string */ - (OFArray*)componentsSeparatedByString: (OFString*)delimiter options: (int)options; /*! * @brief Returns the components of the path. * * @return The components of the path */ - (OFArray*)pathComponents; /*! * @brief Returns the last component of the path. * * @return The last component of the path */ - (OFString*)lastPathComponent; /*! * @brief Returns the directory name of the path. * * @return The directory name of the path */ - (OFString*)stringByDeletingLastPathComponent; /*! * @brief Returns 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 * OFInvalidEncodingException is thrown. * * If the number is too big to fit into an intmax_t, an OFOutOfRangeException * is thrown. * * @return An intmax_t with the value of the string */ - (intmax_t)decimalValue; /*! * @brief Returns 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 * OFInvalidEncodingException is thrown. * * If the number is too big to fit into an uintmax_t, an OFOutOfRangeException * is thrown. * * @return A uintmax_t with the value of the string */ - (uintmax_t)hexadecimalValue; /*! * @brief Returns the float value of the string as a float. * * If the string contains any non-number characters, an * OFInvalidEncodingException is thrown. * * @return A float with the value of the string */ - (float)floatValue; /*! * @brief Returns the double value of the string as a double. * * If the string contains any non-number characters, an * OFInvalidEncodingException is thrown. * * @return A double with the value of the string */ - (double)doubleValue; /*! * @brief Returns 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. * * @return The string as an array of Unicode characters */ - (const of_unichar_t*)unicodeString OF_RETURNS_INNER_POINTER; /*! * @brief Returns the string in big endian UTF-16 encoding. * * 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. * * @return The string in big endian UTF-16 encoding */ - (const uint16_t*)UTF16String OF_RETURNS_INNER_POINTER; /*! * @brief Writes the string into the specified file using UTF-8 encoding. * * @param path The path of the file to write to */ - (void)writeToFile: (OFString*)path; #ifdef OF_HAVE_BLOCKS /*! * Enumerates all lines in the receiver using the specified block. * * @brief block The block to call for each line */ - (void)enumerateLinesUsingBlock: (of_string_line_enumeration_block_t)block; #endif @end #import "OFConstantString.h" #import "OFMutableString.h" |
︙ | ︙ |
Modified src/OFTCPSocket.h from [facc710023] to [9fd81ec698].
︙ | ︙ | |||
38 39 40 41 42 43 44 | #ifdef OF_HAVE_BLOCKS typedef void (^of_tcpsocket_async_connect_block_t)(OFTCPSocket*, OFException*); typedef BOOL (^of_tcpsocket_async_accept_block_t)(OFTCPSocket*, OFTCPSocket*, OFException*); #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 | #ifdef OF_HAVE_BLOCKS typedef void (^of_tcpsocket_async_connect_block_t)(OFTCPSocket*, OFException*); typedef BOOL (^of_tcpsocket_async_accept_block_t)(OFTCPSocket*, OFTCPSocket*, OFException*); #endif /*! * @brief A class which provides functions to create and use TCP sockets. * * To connect to a server, create a socket and connect it. * To create a server, create a socket, bind it and listen on it. */ @interface OFTCPSocket: OFStreamSocket { BOOL listening; struct sockaddr_storage *sockAddr; socklen_t sockAddrLen; OFString *SOCKS5Host; uint16_t SOCKS5Port; } #ifdef OF_HAVE_PROPERTIES @property (readonly, getter=isListening) BOOL listening; @property (copy) OFString *SOCKS5Host; @property uint16_t SOCKS5Port; #endif /*! * @brief Sets the global SOCKS5 proxy host to use when creating a new socket * * @param host The host to use as a SOCKS5 proxy when creating a new socket */ + (void)setSOCKS5Host: (OFString*)host; /*! * @brief Returns the host to use as a SOCKS5 proxy when creating a new socket * * @return The host to use as a SOCKS5 proxy when creating a new socket */ + (OFString*)SOCKS5Host; /*! * @brief Sets the global SOCKS5 proxy port to use when creating a new socket * * @param port The port to use as a SOCKS5 proxy when creating a new socket */ + (void)setSOCKS5Port: (uint16_t)port; /*! * @brief Returns the port to use as a SOCKS5 proxy when creating a new socket * * @return The port to use as a SOCKS5 proxy when creating a new socket */ + (uint16_t)SOCKS5Port; /*! * @brief Sets the host to use as a SOCKS5 proxy. * * @param host The host to use as a SOCKS5 proxy */ - (void)setSOCKS5Host: (OFString*)host; /*! * @brief Returns the host to use as a SOCKS5 proxy. * * @return The host to use as a SOCKS5 proxy */ - (OFString*)SOCKS5Host; /*! * @brief Sets the port to use on the SOCKS5 proxy. * * The default port is 1080. * * @param port The port to use on the SOCKS5 proxy */ - (void)setSOCKS5Port: (uint16_t)port; /*! * @brief Returns the port to use on the SOCKS5 proxy. * * @return The port to use on the SOCKS5 proxy */ - (uint16_t)SOCKS5Port; /*! * @brief Connect the OFTCPSocket to the specified destination. * * @param host The host to connect to * @param port The port on the host to connect to */ - (void)connectToHost: (OFString*)host port: (uint16_t)port; /*! * @brief Asyncronously connect the OFTCPSocket to the specified destination. * * @param host The host to connect to * @param port The port on the host to connect to * @param target The target on which to call the selector once the connection * has been established * @param selector The selector to call on the target. The signature must be * void (OFTCPSocket *socket, OFException *exception). */ - (void)asyncConnectToHost: (OFString*)host port: (uint16_t)port target: (id)target selector: (SEL)selector; #ifdef OF_HAVE_BLOCKS /*! * @brief Asyncronously connect the OFTCPSocket to the specified destination. * * @param host The host to connect to * @param port The port on the host to connect to * @param block The block to execute once the connection has been established */ - (void)asyncConnectToHost: (OFString*)host port: (uint16_t)port block: (of_tcpsocket_async_connect_block_t)block; #endif /*! * @brief Bind the socket on the specified port and host. * * @param host The host to bind to. Use @"0.0.0.0" for IPv4 or @"::" for IPv6 * to bind to all. * @param port The port to bind to. If the port is 0, an unused port will be * chosen, which can be obtained using the return value. * @return The port the socket was bound to */ - (uint16_t)bindToHost: (OFString*)host port: (uint16_t)port; /*! * @brief Listen on the socket. * * @param backlog Maximum length for the queue of pending connections. */ - (void)listenWithBackLog: (int)backLog; /*! * @brief Listen on the socket. */ - (void)listen; /*! * @brief Accept an incoming connection. * * @return An autoreleased OFTCPSocket for the accepted connection. */ - (OFTCPSocket*)accept; /*! * @brief Asyncronously ccept an incoming connection. * * @param target The target on which to execute the selector when a new * connection has been accepted. The method returns whether the * next incoming connection should be accepted by the specified * block as well. * @param selector The selector to call on the target. The signature must be * BOOL (OFTCPSocket *socket, OFTCPSocket *acceptedSocket, * OFException *exception). */ - (void)asyncAcceptWithTarget: (id)target selector: (SEL)selector; #ifdef OF_HAVE_BLOCKS /*! * @brief Asyncronously ccept an incoming connection. * * @param block The block to execute when a new connection has been accepted. * Returns whether the next incoming connection should be accepted * by the specified block as well. */ - (void)asyncAcceptWithBlock: (of_tcpsocket_async_accept_block_t)block; #endif /*! * @brief Enable or disable keep alives for the connection. * * @param enable Whether to enable or disable keep alives for the connection */ - (void)setKeepAlivesEnabled: (BOOL)enable; /*! * @brief Returns the remote address of the socket. * * Only works with accepted sockets! * * @return The remote address as a string */ - (OFString*)remoteAddress; /*! * @brief Returns whether the socket is a listening socket. * * @return Whether the socket is a listening socket */ - (BOOL)isListening; @end |
Modified src/OFTLSKey.h from [3990e8ca34] to [5168cee9c0].
︙ | ︙ | |||
15 16 17 18 19 20 21 | */ #import "OFObject.h" #import "OFList.h" #import "threading.h" | | | | | | | | | | | | | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | */ #import "OFObject.h" #import "OFList.h" #import "threading.h" /*! * @brief A class for Thread Local Storage keys. */ @interface OFTLSKey: OFObject { @public of_tlskey_t key; @protected void (*destructor)(id); of_list_object_t *listObject; BOOL initialized; } /*! * @brief Creates a new Thread Local Storage key * * @return A new, autoreleased Thread Local Storage key */ + (instancetype)TLSKey; /*! * @brief Creates a new Thread Local Storage key with the specified destructor. * * @param destructor A destructor that is called when the thread is terminated * @return A new autoreleased Thread Local Storage key */ + (instancetype)TLSKeyWithDestructor: (void(*)(id))destructor; + (void)OF_callAllDestructors; /*! * @brief Initializes an already allocated Thread Local Storage Key with the * specified destructor. * * @param destructor A destructor that is called when the thread is terminated * @return An initialized Thread Local Storage key */ - initWithDestructor: (void(*)(id))destructor; @end |
Modified src/OFTLSSocket.h from [882cb079a6] to [351d035ebc].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #import "objfw-defs.h" @class OFString; @class OFArray; @protocol OFTLSSocket; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 | #import "objfw-defs.h" @class OFString; @class OFArray; @protocol OFTLSSocket; /*! * @brief A delegate for classes implementing the OFTLSSocket protocol. */ @protocol OFTLSSocketDelegate /*! * @brief This callback is called when the TLS socket wants to know if it * should accept the received keychain. * * @param certificate An array of objects implementing the OFX509Certificate * protocol * @return Whether the TLS socket should accept the received keychain */ - (BOOL)socket: (id <OFTLSSocket>)socket shouldAcceptKeychain: (OFArray*)keychain; @end /*! * @brief A protocol that should be implemented by 3rd party libraries * implementing TLS. */ @protocol OFTLSSocket #ifdef OF_HAVE_PROPERTIES @property (assign) id <OFTLSSocketDelegate> delegate; @property (copy) OFString *certificateFile, *privateKeyFile; @property const char *privateKeyPassphrase; #endif /*! * @brief Sets a delegate for the TLS socket. * * @param delegate The delegate to use */ - (void)setDelegate: (id <OFTLSSocketDelegate>)delegate; /*! * @brief Returns the delegate used by the TLS socket. * * @return The delegate used by the TLS socket */ - (id <OFTLSSocketDelegate>)delegate; /*! * @brief Sets the path to the X.509 certificate file to use. * * @param certificateFile The path to the X.509 certificate file */ - (void)setCertificateFile: (OFString*)certificateFile; /*! * @brief Returns the path of the X.509 certificate file used by the TLS socket. * * @return The path of the X.509 certificate file used by the TLS socket */ - (OFString*)certificateFile; /*! * @brief Sets the path to the PKCS#8 private key file to use. * * @param privateKeyFile The path to the PKCS#8 private key file */ - (void)setPrivateKeyFile: (OFString*)privateKeyFile; /*! * @brief Returns the path of the PKCS#8 private key file used by the TLS * socket. * * @return The path of the PKCS#8 private key file used by the TLS socket */ - (OFString*)privateKeyFile; /*! * @brief Sets 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. * * @param privateKeyPassphrase The passphrase to decrypt the PKCS#8 private * key file */ - (void)setPrivateKeyPassphrase: (const char*)privateKeyPassphrase; /*! * @brief Returns the passphrase to decrypt the PKCS#8 private key file. * * @warning You should not copy this to insecure memory which is swappable! * * @return The passphrase to decrypt the PKCS#8 private key file */ - (const char*)privateKeyPassphrase; @end |
Modified src/OFThread.h from [384da59e46] to [f5f613cd72].
︙ | ︙ | |||
23 24 25 26 27 28 29 | @class OFSortedList; @class OFRunLoop; #ifdef OF_HAVE_BLOCKS typedef id (^of_thread_block_t)(id object); #endif | | | | | 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | @class OFSortedList; @class OFRunLoop; #ifdef OF_HAVE_BLOCKS typedef id (^of_thread_block_t)(id object); #endif /*! * @brief A class which provides portable threads. * * To use it, you should create a new class derived from it and reimplement * main. * * @warning Even though the OFCopying protocol is implemented, it does * <i>not</i> return an independent copy of the thread, but instead * retains it. This is so that the thread can be used as a key for a * dictionary, so context can be associated with a thread. */ @interface OFThread: OFObject <OFCopying> { #ifdef OF_THREAD_M |
︙ | ︙ | |||
60 61 62 63 64 65 66 | OFRunLoop *runLoop; } #if defined(OF_HAVE_PROPERTIES) && defined(OF_HAVE_BLOCKS) @property (copy) of_thread_block_t block; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 | OFRunLoop *runLoop; } #if defined(OF_HAVE_PROPERTIES) && defined(OF_HAVE_BLOCKS) @property (copy) of_thread_block_t block; #endif /*! * @brief Creates a new thread. * * @return A new, autoreleased thread */ + (instancetype)thread; /*! * @brief Creates a new thread with the specified object. * * @param object An object which is passed for use in the main method or nil * @return A new, autoreleased thread */ + (instancetype)threadWithObject: (id)object; #ifdef OF_HAVE_BLOCKS /*! * @brief Creates a new thread with the specified block. * * @param block A block which is executed by the thread * @return A new, autoreleased thread */ + (instancetype)threadWithBlock: (of_thread_block_t)block; #endif /*! * @brief Sets the Thread Local Storage for the specified key. * * The specified object is first retained and then the object stored before is * released. You can specify nil as object if you want the old object to be * released and don't want any new object for the TLS key. * * @param key The Thread Local Storage key * @param object The object the Thread Local Storage key will be set to */ + (void)setObject: (id)object forTLSKey: (OFTLSKey*)key; /*! * @brief Returns the object for the specified Thread Local Storage key. * * The returned object is <i>not</i> retained and autoreleased for performance * reasons! * * @param key The Thread Local Storage key */ + (id)objectForTLSKey: (OFTLSKey*)key; /*! * @brief Returns the current thread. * * @return The current thread */ + (OFThread*)currentThread; /*! * @brief Returns the main thread. * * @return The main thread */ + (OFThread*)mainThread; /*! * @brief Suspends execution of the current thread for the specified time * interval. * * @param seconds The number of seconds to sleep */ + (void)sleepForTimeInterval: (double)seconds; /*! * @brief Suspends execution of the current thread until the specified date. * * @param date The date to wait for */ + (void)sleepUntilDate: (OFDate*)date; /*! * @brief Yields a processor voluntarily and moves the thread at the end of the * queue for its priority. */ + (void)yield; /*! * @brief Terminates the current thread, letting it return nil. */ + (void)terminate; /*! * @brief Terminates the current thread, letting it return the specified object. * * @param object The object which the terminated thread will return */ + (void)terminateWithObject: (id)object; + (void)OF_createMainThread; /*! * @brief Initializes an already allocated thread with the specified object. * * @param object An object which is passed for use in the main method or nil * @return An initialized OFThread. */ - initWithObject: (id)object; #ifdef OF_HAVE_BLOCKS /*! * @brief Initializes an already allocated thread with the specified block. * * @param block A block which is executed by the thread * @return An initialized OFThread. */ - initWithBlock: (of_thread_block_t)block; #endif /*! * @brief The main routine of the thread. You need to reimplement this! * * It can access the object passed to the threadWithObject or initWithObject * method using the instance variable named object. * * @return The object the join method should return when called for this thread */ - (id)main; /*! * @brief This routine is exectued when the thread's main method has finished * executing or terminate has been called. * * @note Be sure to call [super handleTermination]! */ - (void)handleTermination; /*! * @brief Starts the thread. */ - (void)start; /*! * @brief Joins a thread. * * @return The object returned by the main method of the thread. */ - (id)join; /*! * @brief Returns the run loop for the thread. * * @return The run loop for the thread */ - (OFRunLoop*)runLoop; @end |
Modified src/OFThreadPool.h from [9c891bd73d] to [1c5160c994].
︙ | ︙ | |||
21 22 23 24 25 26 27 | #endif @class OFMutableArray; @class OFList; @class OFCondition; @class OFThreadPoolJob; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | #endif @class OFMutableArray; @class OFList; @class OFCondition; @class OFThreadPoolJob; /*! * @brief A class providing a pool of reusable threads. * * @note When the thread pool is released, all threads will terminate after * they finish the job they are currently processing. */ @interface OFThreadPool: OFObject { size_t size; OFMutableArray *threads; volatile int count; @public OFList *queue; OFCondition *queueCondition; volatile int doneCount; OFCondition *countCondition; } /*! * @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 * determined, the pool will only have one thread! * * @return A new thread pool with one thread for each core in the system */ + (instancetype)threadPool; /*! * @brief Returns a new thread pool with the specified number of threads. * * @warning If for some reason the number of cores in the system could not be * determined, the pool will only have one thread! * * @param size The number of threads for the pool * @return A new thread pool with the specified number of threads */ + (instancetype)threadPoolWithSize: (size_t)size; /*! * @brief Initializes an already allocated OFThreadPool with one thread for * each core in the system. * * @warning If for some reason the number of cores in the system could not be * determined, the pool will only have one thread! * * @return An initialized OFThreadPool with one thread for each core in the * system */ - init; /*! * @brief Initializes an already allocated OFThreadPool with the specified * number of threads. * * @warning If for some reason the number of cores in the system could not be * determined, the pool will only have one thread! * * @param size The number of threads for the pool * @return An initialized OFThreadPool with the specified number of threads */ - initWithSize: (size_t)size; /*! * @brief Execute the specified selector on the specified target with the * specified object as soon as a thread is ready. * * @param target The target on which to perform the selector * @param selector The selector to perform on the target * @param object THe object with which the selector is performed on the target */ - (void)dispatchWithTarget: (id)target selector: (SEL)selector object: (id)object; #ifdef OF_HAVE_BLOCKS /*! * @brief Executes the specified block as soon as a thread is ready. * * @param block The block to execute */ - (void)dispatchWithBlock: (of_thread_pool_block_t)block; #endif /*! * @brief Waits until all jobs are done. */ - (void)waitUntilDone; /*! * @brief Returns the size of the thread pool. * * @return The size of the thread pool */ - (size_t)size; @end |
Modified src/OFTimer.h from [72b838b1fd] to [428e3783b2].
︙ | ︙ | |||
20 21 22 23 24 25 26 | @class OFDate; @class OFCondition; #ifdef OF_HAVE_BLOCKS typedef void (^of_timer_block_t)(OFTimer*); #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 | @class OFDate; @class OFCondition; #ifdef OF_HAVE_BLOCKS typedef void (^of_timer_block_t)(OFTimer*); #endif /*! * @brief A class for creating and firing timers. */ @interface OFTimer: OFObject <OFComparing> { OFDate *fireDate; double interval; id target, object1, object2; SEL selector; uint8_t arguments; BOOL repeats; #ifdef OF_HAVE_BLOCKS of_timer_block_t block; #endif BOOL isValid, done; OFCondition *condition; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain) OFDate *fireDate; #endif /*! * @brief Creates and schedules a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param target The target on which to call the selector * @param selector The selector to call on the target * @param repeats Whether the timer repeats after it has been executed * @return A new, autoreleased timer */ + (instancetype)scheduledTimerWithTimeInterval: (double)interval target: (id)target selector: (SEL)selector repeats: (BOOL)repeats; /*! * @brief Creates and schedules a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param target The target on which to call the selector * @param selector The selector to call on the target * @param object An object to pass when calling the selector on the target * @param repeats Whether the timer repeats after it has been executed * @return A new, autoreleased timer */ + (instancetype)scheduledTimerWithTimeInterval: (double)interval target: (id)target selector: (SEL)selector object: (id)object repeats: (BOOL)repeats; /*! * @brief Creates and schedules a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param target The target on which to call the selector * @param selector The selector to call on the target * @param object1 The first object to pass when calling the selector on the * target * @param object2 The second object to pass when calling the selector on the * target * @param repeats Whether the timer repeats after it has been executed * @return A new, autoreleased timer */ + (instancetype)scheduledTimerWithTimeInterval: (double)interval target: (id)target selector: (SEL)selector object: (id)object1 object: (id)object2 repeats: (BOOL)repeats; #ifdef OF_HAVE_BLOCKS /*! * @brief Creates and schedules a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param repeats Whether the timer repeats after it has been executed * @param block The block to invoke when the timer fires * @return A new, autoreleased timer */ + (instancetype)scheduledTimerWithTimeInterval: (double)interval repeats: (BOOL)repeats block: (of_timer_block_t)block; #endif /*! * @brief Creates a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param target The target on which to call the selector * @param selector The selector to call on the target * @param repeats Whether the timer repeats after it has been executed * @return A new, autoreleased timer */ + (instancetype)timerWithTimeInterval: (double)interval target: (id)target selector: (SEL)selector repeats: (BOOL)repeats; /*! * @brief Creates a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param target The target on which to call the selector * @param selector The selector to call on the target * @param object An object to pass when calling the selector on the target * @param repeats Whether the timer repeats after it has been executed * @return A new, autoreleased timer */ + (instancetype)timerWithTimeInterval: (double)interval target: (id)target selector: (SEL)selector object: (id)object repeats: (BOOL)repeats; /*! * @brief Creates a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param target The target on which to call the selector * @param selector The selector to call on the target * @param object1 The first object to pass when calling the selector on the * target * @param object2 The second object to pass when calling the selector on the * target * @param repeats Whether the timer repeats after it has been executed * @return A new, autoreleased timer */ + (instancetype)timerWithTimeInterval: (double)interval target: (id)target selector: (SEL)selector object: (id)object1 object: (id)object2 repeats: (BOOL)repeats; #ifdef OF_HAVE_BLOCKS /*! * @brief Creates a new timer with the specified time interval. * * @param interval The time interval after which the timer should be executed * when fired * @param repeats Whether the timer repeats after it has been executed * @param block The block to invoke when the timer fires * @return A new, autoreleased timer */ + (instancetype)timerWithTimeInterval: (double)interval repeats: (BOOL)repeats block: (of_timer_block_t)block; #endif /*! * @brief Initializes an already allocated timer with the specified time * interval. * * @param fireDate The date at which the timer should fire * @param interval The time interval after which to repeat the timer, if it is * a repeating timer * @param target The target on which to call the selector * @param selector The selector to call on the target * @param repeats Whether the timer repeats after it has been executed * @return An initialized timer */ - initWithFireDate: (OFDate*)fireDate interval: (double)interval target: (id)target selector: (SEL)selector repeats: (BOOL)repeats; /*! * @brief Initializes an already allocated timer with the specified time * interval. * * @param fireDate The date at which the timer should fire * @param interval The time interval after which to repeat the timer, if it is * a repeating timer * @param target The target on which to call the selector * @param selector The selector to call on the target * @param object An object to pass when calling the selector on the target * @param repeats Whether the timer repeats after it has been executed * @return An initialized timer */ - initWithFireDate: (OFDate*)fireDate interval: (double)interval target: (id)target selector: (SEL)selector object: (id)object1 repeats: (BOOL)repeats; /*! * @brief Initializes an already allocated timer with the specified time * interval. * * @param fireDate The date at which the timer should fire * @param interval The time interval after which to repeat the timer, if it is * a repeating timer * @param target The target on which to call the selector * @param selector The selector to call on the target * @param repeats Whether the timer repeats after it has been executed * @return An initialized timer */ - initWithFireDate: (OFDate*)fireDate interval: (double)interval target: (id)target selector: (SEL)selector object: (id)object1 object: (id)object2 repeats: (BOOL)repeats; #ifdef OF_HAVE_BLOCKS /*! * @brief Initializes an already allocated timer with the specified time * interval. * * @param fireDate The date at which the timer should fire * @param interval The time interval after which to repeat the timer, if it is * a repeating timer * @param repeats Whether the timer repeats after it has been executed * @param block The block to invoke when the timer fires * @return An initialized timer */ - initWithFireDate: (OFDate*)fireDate interval: (double)interval repeats: (BOOL)repeats block: (of_timer_block_t)block; #endif /*! * @brief Fires the timer, meaning it will execute the specified selector on the * target. */ - (void)fire; /*! * @brief Returns the next date at which the timer will fire. * * @return The next date at which the timer will fire */ - (OFDate*)fireDate; /*! * @brief Invalidates the timer, preventing it from firing. */ - (void)invalidate; /*! * @brief Returns whether the timer is valid. * * @return Whether the timer is valid */ - (BOOL)isValid; /*! * @brief Returns the time interval in which the timer will repeat, if it is a * repeating timer. * * @return The time interval in which the timer will repeat, if it is a * repeating timer */ - (double)timeInterval; /*! * @brief Waits until the timer fired. */ - (void)waitUntilDone; @end |
Modified src/OFURL.h from [23c8849a02] to [ed2d442f57].
︙ | ︙ | |||
15 16 17 18 19 20 21 | */ #import "OFObject.h" #import "OFSerialization.h" @class OFString; | | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 | */ #import "OFObject.h" #import "OFSerialization.h" @class OFString; /*! * @brief A class for parsing URLs and accessing parts of it. */ @interface OFURL: OFObject <OFCopying, OFSerialization> { OFString *scheme; OFString *host; uint16_t port; OFString *user; |
︙ | ︙ | |||
43 44 45 46 47 48 49 | @property (copy) OFString *password; @property (copy) OFString *path; @property (copy) OFString *parameters; @property (copy) OFString *query; @property (copy) OFString *fragment; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 | @property (copy) OFString *password; @property (copy) OFString *path; @property (copy) OFString *parameters; @property (copy) OFString *query; @property (copy) OFString *fragment; #endif /*! * Creates a new URL with the specified string. * * @param string A string describing a URL * @return A new, autoreleased OFURL */ + (instancetype)URLWithString: (OFString*)string; /*! * Creates a new URL with the specified string relative to the specified URL. * * @param string A string describing a URL * @param URL An URL to which the string is relative * @return A new, autoreleased OFURL */ + (instancetype)URLWithString: (OFString*)string relativeToURL: (OFURL*)URL; /*! * @brief Initializes an already allocated OFURL with the specified string. * * @param string A string describing a URL * @return An initialized OFURL */ - initWithString: (OFString*)string; /*! * @brief Initializes an already allocated OFURL with the specified string and * relative URL. * * @param string A string describing a URL * @param URL A URL to which the string is relative * @return An initialized OFURL */ - initWithString: (OFString*)string relativeToURL: (OFURL*)url; /*! * @brief Returns the scheme part of the URL. * * @return The scheme part of the URL */ - (OFString*)scheme; /*! * @brief Set the scheme part of the URL. * * @param scheme The scheme part of the URL to set */ - (void)setScheme: (OFString*)scheme; /*! * @brief Returns the host part of the URL. * * @return The host part of the URL */ - (OFString*)host; /*! * @brief Set the host part of the URL. * * @param host The host part of the URL to set */ - (void)setHost: (OFString*)host; /*! * @brief Returns the port part of the URL. * * @return The port part of the URL */ - (uint16_t)port; /*! * @brief Set the port part of the URL. * * @param port The port part of the URL to set */ - (void)setPort: (uint16_t)port; /*! * @brief Returns the user part of the URL. * * @return The user part of the URL */ - (OFString*)user; /*! * @brief Set the user part of the URL. * * @param user The user part of the URL to set */ - (void)setUser: (OFString*)user; /*! * @brief Returns the password part of the URL. * * @return The password part of the URL */ - (OFString*)password; /*! * @brief Set the password part of the URL. * * @param password The password part of the URL to set */ - (void)setPassword: (OFString*)password; /*! * @brief Returns the path part of the URL. * * @return The path part of the URL */ - (OFString*)path; /*! * @brief Set the path part of the URL. * * @param path The path part of the URL to set */ - (void)setPath: (OFString*)path; /*! * @brief Returns the parameters part of the URL. * * @return The parameters part of the URL */ - (OFString*)parameters; /*! * @brief Set the parameters part of the URL. * * @param parameters The parameters part of the URL to set */ - (void)setParameters: (OFString*)parameters; /*! * @brief Returns the query part of the URL. * * @return The query part of the URL */ - (OFString*)query; /*! * @brief Set the query part of the URL. * * @param query The query part of the URL to set */ - (void)setQuery: (OFString*)query; /*! * @brief Returns the fragment part of the URL. * * @return The fragment part of the URL */ - (OFString*)fragment; /*! * @brief Set the fragment part of the URL. * * @param fragment The fragment part of the URL to set */ - (void)setFragment: (OFString*)fragment; /*! * @brief Returns the URL as a string. * * @return The URL as a string */ - (OFString*)string; @end |
Modified src/OFXMLAttribute.h from [f0bb79b5f0] to [c19bf55bb6].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFXMLNode.h" @class OFString; | | | | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 | * file. */ #import "OFXMLNode.h" @class OFString; /*! * @brief A representation of an attribute of an XML element as an object. */ @interface OFXMLAttribute: OFXMLNode { @public OFString *name; OFString *ns; OFString *stringValue; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy) OFString *name; @property (readonly, copy, getter=namespace) OFString *ns; @property (readonly, copy) OFString *stringValue; #endif /*! * @brief Creates a new XML attribute. * * @param name The name of the attribute * @param ns The namespace of the attribute * @param value The string value of the attribute * @return A new autoreleased OFXMLAttribute with the specified parameters */ + (instancetype)attributeWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)value; /*! * @brief Initializes an already allocated OFXMLAttribute. * * @param name The name of the attribute * @param ns The namespace of the attribute * @param value The string value of the attribute * @return An initialized OFXMLAttribute with the specified parameters */ - initWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)value; /*! * @brief Returns the name of the attribute as an autoreleased OFString. * * @return The name of the attribute as an autoreleased OFString */ - (OFString*)name; /*! * @brief Returns the namespace of the attribute as an autoreleased OFString. * * @return The namespace of the attribute as an autoreleased OFString */ - (OFString*)namespace; @end |
Modified src/OFXMLCDATA.h from [f8c9c1d9fa] to [f44a02374d].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFXMLNode.h" | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | * 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. */ #import "OFXMLNode.h" /*! * @brief A class representing XML CDATA. */ @interface OFXMLCDATA: OFXMLNode { OFString *CDATA; } /*! * @brief Creates a new OFXMLCDATA with the specified string. * * @param string The string value for the CDATA * @return A new OFXMLCDATA */ + (instancetype)CDATAWithString: (OFString*)string; /*! * @brief Initializes an alredy allocated OFXMLCDATA with the specified string. * * @param string The string value for the CDATA * @return An initialized OFXMLCDATA */ - initWithString: (OFString*)string; @end |
Modified src/OFXMLCharacters.h from [88de715286] to [f441aea2d0].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFXMLNode.h" | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * 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. */ #import "OFXMLNode.h" /*! * @brief A class representing XML characters. */ @interface OFXMLCharacters: OFXMLNode { OFString *characters; } /*! * @brief Creates a new OFXMLCharacters with the specified string. * * @param string The string value for the characters * @return A new OFXMLCharacters */ + (instancetype)charactersWithString: (OFString*)string; /*! * @brief Initializes an already allocated OFXMLCharacters with the specified * string. * * @param string The string value for the characters * @return An initialized OFXMLCharacters */ - initWithString: (OFString*)string; @end |
Modified src/OFXMLComment.h from [22d9c30afb] to [ec0321adf2].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFXMLNode.h" | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * 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. */ #import "OFXMLNode.h" /*! * @brief A class for representing XML comments. */ @interface OFXMLComment: OFXMLNode { OFString *comment; } /*! * @brief Creates a new OFXMLComment with the specified string. * * @param string The string for the comment * @return A new OFXMLComment */ + (instancetype)commentWithString: (OFString*)string; /*! * @brief Initializes an already allocated OFXMLComment with the specified * string. * * @param string The string for the comment * @return An initialized OFXMLComment */ - initWithString: (OFString*)string; @end |
Modified src/OFXMLElement+Serialization.h from [c84b6ccec7] to [94d6b314ef].
︙ | ︙ | |||
20 21 22 23 24 25 26 | extern "C" { #endif extern int _OFXMLElement_Serialization_reference; #ifdef __cplusplus } #endif | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 | extern "C" { #endif extern int _OFXMLElement_Serialization_reference; #ifdef __cplusplus } #endif /*! * @brief A category that provides methods for deserializing objects. */ @interface OFXMLElement (OFSerialization) /*! * @brief Deserializes the receiver into an object. * * @return The deserialized object */ - (id)objectByDeserializing; @end |
Modified src/OFXMLElement.h from [15d1784604] to [a57443555d].
︙ | ︙ | |||
19 20 21 22 23 24 25 | @class OFString; @class OFArray; @class OFMutableString; @class OFMutableArray; @class OFMutableDictionary; @class OFXMLAttribute; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 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 | @class OFString; @class OFArray; @class OFMutableString; @class OFMutableArray; @class OFMutableDictionary; @class OFXMLAttribute; /*! * @brief A class which stores an XML element. */ @interface OFXMLElement: OFXMLNode { OFString *name; OFString *ns; OFString *defaultNamespace; OFMutableArray *attributes; OFMutableDictionary *namespaces; OFMutableArray *children; } #ifdef OF_HAVE_PROPERTIES @property (copy) OFString *name; @property (copy, getter=namespace, setter=setNamespace:) OFString *ns; @property (copy) OFString *defaultNamespace; @property (readonly, copy) OFArray *attributes; @property (readonly, copy) OFArray *children; #endif /*! * @brief Creates a new XML element with the specified name. * * @param name The name for the element * @return A new autoreleased OFXMLElement with the specified element name */ + (instancetype)elementWithName: (OFString*)name; /*! * @brief Creates a new XML element with the specified name and string value. * * @param name The name for the element * @param stringValue The value for the element * @return A new autoreleased OFXMLElement with the specified element name and * value */ + (instancetype)elementWithName: (OFString*)name stringValue: (OFString*)stringValue; /*! * @brief Creates a new XML element with the specified name and namespace. * * @param name The name for the element * @param ns The namespace for the element * @return A new autoreleased OFXMLElement with the specified element name and * namespace */ + (instancetype)elementWithName: (OFString*)name namespace: (OFString*)ns; /*! * @brief Creates a new XML element with the specified name, namespace and * string value. * * @param name The name for the element * @param ns The namespace for the element * @param stringValue The value for the element * @return A new autoreleased OFXMLElement with the specified element name, * namespace and value */ + (instancetype)elementWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)stringValue; /*! * @brief Creates a new element with the specified element. * * @param element An OFXMLElement to initialize the OFXMLElement with * @return A new autoreleased OFXMLElement with the contents of the specified * element */ + (instancetype)elementWithElement: (OFXMLElement*)element; /*! * @brief Parses the string and returns an OFXMLElement for it. * * @param string The string to parse * @return A new autoreleased OFXMLElement with the contents of the string */ + (instancetype)elementWithXMLString: (OFString*)string; /*! * @brief Parses the specified file and returns an OFXMLElement for it. * * @param path The path to the file * @return A new autoreleased OFXMLElement with the contents of the specified * file */ + (instancetype)elementWithFile: (OFString*)path; /*! * @brief Initializes an already allocated OFXMLElement with the specified name. * * @param name The name for the element * @return An initialized OFXMLElement with the specified element name */ - initWithName: (OFString*)name; /*! * @brief Initializes an already allocated OFXMLElement with the specified name * and string value. * * @param name The name for the element * @param stringValue The value for the element * @return An initialized OFXMLElement with the specified element name and * value */ - initWithName: (OFString*)name stringValue: (OFString*)stringValue; /*! * @brief Initializes an already allocated OFXMLElement with the specified name * and namespace. * * @param name The name for the element * @param ns The namespace for the element * @return An initialized OFXMLElement with the specified element name and * namespace */ - initWithName: (OFString*)name namespace: (OFString*)ns; /*! * @brief Initializes an already allocated OFXMLElement with the specified name, * namespace and value. * * @param name The name for the element * @param ns The namespace for the element * @param stringValue The value for the element * @return An initialized OFXMLElement with the specified element name, * namespace and value */ - initWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)stringValue; /*! * @brief Initializes an already allocated OFXMLElement with the specified * element. * * @param element An OFXMLElement to initialize the OFXMLElement with * @return A new autoreleased OFXMLElement with the contents of the specified * element */ - initWithElement: (OFXMLElement*)element; /*! * @brief Parses the string and initializes an already allocated OFXMLElement * with it. * * @param string The string to parse * @return An initialized OFXMLElement with the contents of the string */ - initWithXMLString: (OFString*)string; /*! * @brief Parses the specified file and initializes an already allocated * OFXMLElement with it. * * @param path The path to the file * @return An initialized OFXMLElement with the contents of the specified file */ - initWithFile: (OFString*)path; /*! * @brief Sets the name of the element. * * @param name The new name */ - (void)setName: (OFString*)name; /*! * @brief Returns the name of the element. * * @return The name of the element */ - (OFString*)name; /*! * @brief Sets the namespace of the element. * * @param ns The new namespace */ - (void)setNamespace: (OFString*)ns; /*! * @brief Returns the namespace of the element. * * @return The namespace of the element */ - (OFString*)namespace; /*! * @brief Returns an OFArray with the attributes of the element. * * @return An OFArray with the attributes of the element */ - (OFArray*)attributes; /*! * @brief Removes all children and adds the children from the specified array. * * @param children The new children to add */ - (void)setChildren: (OFArray*)children; /*! * @brief Returns an array of OFXMLNodes with all children of the element. * * @return An array of OFXMLNodes with all children of the element */ - (OFArray*)children; /*! * @brief Removes all children and sets the string value to the specified * string. * * @param stringValue The new string value for the element */ - (void)setStringValue: (OFString*)stringValue; /*! * @brief Adds the specified attribute. * * If an attribute with the same name and namespace already exists, it is not * added. * * @param attribute The attribute to add */ - (void)addAttribute: (OFXMLAttribute*)attribute; /*! * @brief Adds the specified attribute with the specified string value. * * If an attribute with the same name and namespace already exists, it is not * added. * * @param name The name of the attribute * @param stringValue The value of the attribute */ - (void)addAttributeWithName: (OFString*)name stringValue: (OFString*)stringValue; /*! * @brief Adds the specified attribute with the specified namespace and string * value. * * If an attribute with the same name and namespace already exists, it is not * added. * * @param name The name of the attribute * @param ns The namespace of the attribute * @param stringValue The value of the attribute */ - (void)addAttributeWithName: (OFString*)name namespace: (OFString*)ns stringValue: (OFString*)stringValue; /*! * @brief Returns the attribute with the specified name. * * @param attributeName The name of the attribute * @return The attribute with the specified name */ - (OFXMLAttribute*)attributeForName: (OFString*)attributeName; /*! * @brief Returns the attribute with the specified name and namespace. * * @param attributeName The name of the attribute * @param attributeNS The namespace of the attribute * @return The attribute with the specified name and namespace */ - (OFXMLAttribute*)attributeForName: (OFString*)attributeName namespace: (OFString*)attributeNS; /*! * @brief Removes the attribute with the specified name. * * @param attribteName The name of the attribute */ - (void)removeAttributeForName: (OFString*)attributeName; /*! * @brief Removes the attribute with the specified name and namespace. * * @param attributeName The name of the attribute * @param attributeNS The namespace of the attribute */ - (void)removeAttributeForName: (OFString*)attributeName namespace: (OFString*)attributeNS; /*! * @brief Sets a prefix for a namespace. * * @param prefix The prefix for the namespace * @param ns The namespace for which the prefix is set */ - (void)setPrefix: (OFString*)prefix forNamespace: (OFString*)ns; /*! * @brief Binds a prefix for a namespace. * * @param prefix The prefix for the namespace * @param ns The namespace for which the prefix is bound */ - (void)bindPrefix: (OFString*)prefix forNamespace: (OFString*)ns; /*! * @brief Sets the default namespace for the element to be used if there is no * parent. * * @param ns The default namespace for the element */ - (void)setDefaultNamespace: (OFString*)ns; /*! * @brief Adds a child to the OFXMLElement. * * @param child An OFXMLNode which is added as a child */ - (void)addChild: (OFXMLNode*)child; /*! * @brief Removes the first child that is equal to the specified OFXMLElement. * * @param child The child to remove from the OFXMLElement */ - (void)removeChild: (OFXMLNode*)child; /*! * @brief Returns all children that are elements. * * @return All children that are elements */ - (OFArray*)elements; /*! * @brief Returns all children that have the specified namespace. * * @return All children that have the specified namespace */ - (OFArray*)elementsForNamespace: (OFString*)elementNS; /*! * @brief Returns the first child element with the specified name. * * @param elementName The name of the element * @return The first child element with the specified name */ - (OFXMLElement*)elementForName: (OFString*)elementName; /*! * @brief Returns the child elements with the specified name. * * @param elementName The name of the elements * @return The child elements with the specified name */ - (OFArray*)elementsForName: (OFString*)elementName; /*! * @brief Returns the first child element with the specified name and namespace. * * @param elementName The name of the element * @param elementNS The namespace of the element * @return The first child element with the specified name and namespace */ - (OFXMLElement*)elementForName: (OFString*)elementName namespace: (OFString*)elementNS; /*! * @brief Returns the child elements with the specified name and namespace. * * @param elementName The name of the elements * @param elementNS The namespace of the elements * @return The child elements with the specified name and namespace */ - (OFArray*)elementsForName: (OFString*)elementName namespace: (OFString*)elementNS; @end #import "OFXMLElement+Serialization.h" |
Modified src/OFXMLElementBuilder.h from [a3fee8ab7a] to [2b459f4eb7].
︙ | ︙ | |||
17 18 19 20 21 22 23 | #import "OFObject.h" #import "OFXMLParser.h" @class OFMutableArray; @class OFXMLElement; @class OFXMLElementBuilder; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 | #import "OFObject.h" #import "OFXMLParser.h" @class OFMutableArray; @class OFXMLElement; @class OFXMLElementBuilder; /*! * @brief A protocol that needs to be implemented by delegates for * OFXMLElementBuilder. */ #ifndef OF_XML_ELEMENT_BUILDER_M @protocol OFXMLElementBuilderDelegate <OFObject> #else @protocol OFXMLElementBuilderDelegate #endif /*! * @brief This callback is called when the OFXMLElementBuilder built an element. * * If the OFXMLElementBuilder was used as a delegate for the OFXMLParser since * parsing started, this will return the complete document as an OFXMLElement * with all children. * * @param builder The builder which built an OFXMLElement * @param elem The OFXMLElement the OFXMLElementBuilder built */ - (void)elementBuilder: (OFXMLElementBuilder*)builder didBuildElement: (OFXMLElement*)element; #ifdef OF_HAVE_OPTIONAL_PROTOCOLS @optional #endif /*! * @brief This callback is called when the OFXMLElementBuilder built an * OFXMLNode which is not inside an element. * * This is usually called for comments or whitespace character data before the * root element. * * @param builder The builder which built the OFXMLNode without parent * @param node The OFXMLNode the OFXMLElementBuilder built */ - (void)elementBuilder: (OFXMLElementBuilder*)builder didBuildParentlessNode: (OFXMLNode*)node; /*! * @brief This callback is called when the OFXMLElementBuilder gets a close tag * which does not belong there. * * Most likely, the OFXMLElementBuilder was used to build XML only of a child * of the root element and the root element was closed. Often the delegate is * set to the OFXMLElementBuilder when a certain element is found, this can be * used then to set the delegate back after that certain element has been * closed. * * If this method is not implemented in the delegate, the default is to throw * an OFMalformedXMLException. * * @param builder The builder which did not expect the close tag * @param name The name of the close tag * @param prefix The prefix of the close tag * @param ns The namespace of the close tag */ - (void)elementBuilder: (OFXMLElementBuilder*)builder didNotExpectCloseTag: (OFString*)name withPrefix: (OFString*)prefix namespace: (OFString*)ns; /*! * @brief This callback is called when the XML parser for the element builder * found an unknown entity. * * @param entity The name of the entity * @return The substitution for the entity */ - (OFString*)elementBuilder: (OFXMLElementBuilder*)builder foundUnknownEntityNamed: (OFString*)entity; @end /*! * @brief A class implementing the OFXMLParserDelegate protocol that can build * OFXMLElements from the document parsed by the OFXMLParser. * * It can also be used to build OFXMLElements from parts of the document by * first parsing stuff using the OFXMLParser with another delegate and then * setting the OFXMLElementBuilder as delegate for the parser. */ @interface OFXMLElementBuilder: OFObject <OFXMLParserDelegate> { OFMutableArray *stack; id <OFXMLElementBuilderDelegate> delegate; } #ifdef OF_HAVE_PROPERTIES @property (assign) id <OFXMLElementBuilderDelegate> delegate; #endif /*! * @brief Creates a new element builder. * * @return A new, autoreleased OFXMLElementBuilder */ + (instancetype)elementBuilder; /*! * @brief Returns the delegate for the OFXMLElementBuilder. * * @return The delegate for the OFXMLElementBuilder */ - (id <OFXMLElementBuilderDelegate>)delegate; /*! * @brief Sets the delegate for the OFXMLElementBuilder. * * @param delegate The delegate for the OFXMLElementBuilder */ - (void)setDelegate: (id <OFXMLElementBuilderDelegate>)delegate; @end @interface OFObject (OFXMLElementBuilderDelegate) <OFXMLElementBuilderDelegate> @end |
Modified src/OFXMLNode.h from [5a18b5fda7] to [666bc65512].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFObject.h" #import "OFSerialization.h" | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFObject.h" #import "OFSerialization.h" /*! * @brief A class which stores an XML element. */ @interface OFXMLNode: OFObject <OFCopying, OFSerialization> /*! * @brief Returns the contents of the receiver as a string value. * * @return A string with the string value */ - (OFString*)stringValue; /*! * @brief Returns the contents of the receiver as a decimal value. * * @return An integer with the decimal value */ - (intmax_t)decimalValue; /*! * @brief Returns the contents of the receiver as a hexadecimal value. * * @return An integer with the hexadecimal value */ - (uintmax_t)hexadecimalValue; /*! * @brief Returns the contents of the receiver as a float value. * * @return A float with the float value */ - (float)floatValue; /*! * @brief Returns the contents of the receiver as a double value. * * @return A double with the double value */ - (double)doubleValue; /*! * @brief Returns an OFString representing the OFXMLNode as an XML string. * * @return An OFString representing the OFXMLNode as an XML string */ - (OFString*)XMLString; /*! * @brief Returns an OFString representing the OFXMLNode as an XML string with * indentation. * * @param indentation The indentation for the XML string * @return An OFString representing the OFXMLNode as an XML string with * indentation */ - (OFString*)XMLStringWithIndentation: (unsigned int)indentation; /*! * @brief Returns an OFString representing the OFXMLNode as an XML string with * indentation for the specified level. * * @param indentation The indentation for the XML string * @param level The level of indentation * @return An OFString representing the OFXMLNode as an XML string with * indentation */ - (OFString*)XMLStringWithIndentation: (unsigned int)indentation level: (unsigned int)level; @end |
Modified src/OFXMLParser.h from [72fe93e8ed] to [ee5f98932b].
︙ | ︙ | |||
20 21 22 23 24 25 26 | @class OFXMLParser; @class OFArray; @class OFMutableArray; @class OFDataArray; @class OFStream; | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 | @class OFXMLParser; @class OFArray; @class OFMutableArray; @class OFDataArray; @class OFStream; /*! * @brief A protocol that needs to be implemented by delegates for OFXMLParser. */ #ifndef OF_XML_PARSER_M @protocol OFXMLParserDelegate <OFObject> #else @protocol OFXMLParserDelegate #endif #ifdef OF_HAVE_OPTIONAL_PROTOCOLS @optional #endif /*! * @brief This callback is called when the XML parser found processing * instructions. * * @param parser The parser which found processing instructions * @param pi The processing instructions */ - (void)parser: (OFXMLParser*)parser foundProcessingInstructions: (OFString*)pi; /*! * @brief This callback is called when the XML parser found the start of a new * tag. * * @param parser The parser which found a new tag * @param name The name of the tag which just started * @param prefix The prefix of the tag which just started or nil * @param ns The namespace of the tag which just started or nil * @param attributes The attributes included in the tag which just started or * nil */ - (void)parser: (OFXMLParser*)parser didStartElement: (OFString*)name withPrefix: (OFString*)prefix namespace: (OFString*)ns attributes: (OFArray*)attributes; /*! * @brief This callback is called when the XML parser found the end of a tag. * * @param parser The parser which found the end of a tag * @param name The name of the tag which just ended * @param prefix The prefix of the tag which just ended or nil * @param ns The namespace of the tag which just ended or nil */ - (void)parser: (OFXMLParser*)parser didEndElement: (OFString*)name withPrefix: (OFString*)prefix namespace: (OFString*)ns; /*! * @brief This callback is called when the XML parser found characters. * * In case there are comments or CDATA, it is possible that this callback is * called multiple times in a row. * * @param parser The parser which found a string * @param characters The characters the XML parser found */ - (void)parser: (OFXMLParser*)parser foundCharacters: (OFString*)characters; /*! * @brief This callback is called when the XML parser found CDATA. * * @param parser The parser which found a string * @param CDATA The CDATA the XML parser found */ - (void)parser: (OFXMLParser*)parser foundCDATA: (OFString*)CDATA; /*! * @brief This callback is called when the XML parser found a comment. * * @param parser The parser which found a comment * @param comment The comment the XML parser found */ - (void)parser: (OFXMLParser*)parser foundComment: (OFString*)comment; /*! * @brief This callback is called when the XML parser found an entity it * doesn't know. * * The callback is supposed to return a substitution for the entity or nil if * it is not known to the callback as well, in which case an exception will be * risen. * * @param parser The parser which found an unknown entity * @param entity The name of the entity the XML parser didn't know * @return A substitution for the entity or nil */ - (OFString*)parser: (OFXMLParser*)parser foundUnknownEntityNamed: (OFString*)entity; @end /*! * @brief An event-based XML parser. * * OFXMLParser is an event-based XML parser which calls the delegate's callbacks * as soon asit finds something, thus suitable for streams as well. */ @interface OFXMLParser: OFObject <OFStringXMLUnescapingDelegate> { id <OFXMLParserDelegate> delegate; |
︙ | ︙ | |||
169 170 171 172 173 174 175 | of_string_encoding_t encoding; } #ifdef OF_HAVE_PROPERTIES @property (assign) id <OFXMLParserDelegate> delegate; #endif | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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 | of_string_encoding_t encoding; } #ifdef OF_HAVE_PROPERTIES @property (assign) id <OFXMLParserDelegate> delegate; #endif /*! * @brief Creates a new XML parser. * * @return A new, autoreleased OFXMLParser */ + (instancetype)parser; /*! * @brief Returns the delegate that is used by the XML parser. * * @return The delegate that is used by the XML parser */ - (id <OFXMLParserDelegate>)delegate; /*! * @brief Sets the delegate the OFXMLParser should use. * * @param delegate The delegate to use */ - (void)setDelegate: (id <OFXMLParserDelegate>)delegate; /*! * @brief Parses the specified buffer with the specified size. * * @param buffer The buffer to parse * @param length The length of the buffer */ - (void)parseBuffer: (const char*)buffer length: (size_t)length; /*! * @brief Parses the specified string. * * @param string The string to parse */ - (void)parseString: (OFString*)string; /*! * @brief Parses the specified stream. * * @param stream The stream to parse */ - (void)parseStream: (OFStream*)stream; /*! * @brief Parses the specified file. * * @param path The path to the file to parse */ - (void)parseFile: (OFString*)path; /*! * @brief Returns the current line number. * * @return The current line number */ - (size_t)lineNumber; /*! * @brief Returns whether the XML parser has finished parsing. * * @return Whether the XML parser has finished parsing */ - (BOOL)finishedParsing; @end @interface OFObject (OFXMLParserDelegate) <OFXMLParserDelegate> @end |
Modified src/OFXMLProcessingInstructions.h from [c338c4eeff] to [74e2fbe3db].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFXMLNode.h" | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 | * 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. */ #import "OFXMLNode.h" /*! * @brief A class for representing XML processing instructions. */ @interface OFXMLProcessingInstructions: OFXMLNode { OFString *processingInstructions; } /*! * @brief Creates a new OFXMLProcessingInstructions with the specified string. * * @param string The string for the processing instructions * @return A new OFXMLProcessingInstructions */ + (instancetype)processingInstructionsWithString: (OFString*)string; /*! * @brief Initializes an already allocated OFXMLProcessingInstructions with the * specified string. * * @param string The string for the processing instructions * @return An initialized OFXMLProcessingInstructions */ - initWithString: (OFString*)string; @end |
Modified src/exceptions/OFAcceptFailedException.h from [ce6bf67244] to [87852a415d].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFTCPSocket; | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | * file. */ #import "OFException.h" @class OFTCPSocket; /*! * @brief An exception indicating that accepting a connection failed. */ @interface OFAcceptFailedException: OFException { OFTCPSocket *socket; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFTCPSocket *socket; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param socket The socket which could not accept a connection * @return A new accept failed exception */ + (instancetype)exceptionWithClass: (Class)class_ socket: (OFTCPSocket*)socket; /*! * Initializes an already allocated accept failed exception. * * @param class_ The class of the object which caused the exception * @param socket The socket which could not accept a connection * @return An initialized accept failed exception */ - initWithClass: (Class)class_ socket: (OFTCPSocket*)socket; /*! * @return The socket which could not accept a connection */ - (OFTCPSocket*)socket; /*! * @return The errno from when the exception was created */ - (int)errNo; @end |
Modified src/exceptions/OFAddressTranslationFailedException.h from [51fe7c2bc9] to [e5c7bef265].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFTCPSocket; | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | * file. */ #import "OFException.h" @class OFTCPSocket; /*! * @brief An exception indicating the translation of an address failed. */ @interface OFAddressTranslationFailedException: OFException { OFTCPSocket *socket; OFString *host; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFTCPSocket *socket; @property (readonly, copy, nonatomic) OFString *host; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param socket The socket which could not translate the address * @param host The host for which translation was requested * @return A new address translation failed exception */ + (instancetype)exceptionWithClass: (Class)class_ socket: (OFTCPSocket*)socket host: (OFString*)host; /*! * Initializes an already allocated address translation failed exception. * * @param class_ The class of the object which caused the exception * @param socket The socket which could not translate the address * @param host The host for which translation was requested * @return An initialized address translation failed exception */ - initWithClass: (Class)class_ socket: (OFTCPSocket*)socket host: (OFString*)host; /*! * @return The socket which could not translate the address */ - (OFTCPSocket*)socket; /*! * /return The host for which translation was requested */ - (OFString*)host; /*! * @return The errno from when the exception was created */ - (int)errNo; @end |
Modified src/exceptions/OFAllocFailedException.h from [c7f0fcd19a] to [5603471a9b].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFObject.h" @class OFString; | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 | * file. */ #import "OFObject.h" @class OFString; /*! * @brief An exception indicating an object could not be allocated. * * This exception is preallocated, as if there's no memory, no exception can * be allocated of course. That's why you shouldn't and even can't deallocate * it. * * This is the only exception that 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. */ @interface OFAllocFailedException: OFObject /*! * @return A description of the exception */ - (OFString*)description; @end |
Modified src/exceptions/OFAlreadyConnectedException.h from [f0f3a732ca] to [64d62a7a56].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFTCPSocket; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | * file. */ #import "OFException.h" @class OFTCPSocket; /*! * @brief An exception indicating an attempt to connect or bind an already * connected or bound socket. */ @interface OFAlreadyConnectedException: OFException { OFTCPSocket *socket; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFTCPSocket *socket; #endif /*! * @param class_ The class of the object which caused the exception * @param socket The socket which is already connected * @return A new already connected exception */ + (instancetype)exceptionWithClass: (Class)class_ socket: (OFTCPSocket*)socket; /*! * Initializes an already allocated already connected exception. * * @param class_ The class of the object which caused the exception * @param socket The socket which is already connected * @return An initialized already connected exception */ - initWithClass: (Class)class_ socket: (OFTCPSocket*)socket; /*! * @return The socket which is already connected */ - (OFTCPSocket*)socket; @end |
Modified src/exceptions/OFBindFailedException.h from [de9573017a] to [071bf962c5].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFTCPSocket; | | | | | | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | * file. */ #import "OFException.h" @class OFTCPSocket; /*! * @brief An exception indicating that binding a socket failed. */ @interface OFBindFailedException: OFException { OFTCPSocket *socket; OFString *host; uint16_t port; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFTCPSocket *socket; @property (readonly, copy, nonatomic) OFString *host; @property (readonly) uint16_t port; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param socket The socket which could not be bound * @param host The host on which binding failed * @param port The port on which binding failed * @return A new bind failed exception */ + (instancetype)exceptionWithClass: (Class)class_ socket: (OFTCPSocket*)socket host: (OFString*)host port: (uint16_t)port; /*! * Initializes an already allocated bind failed exception. * * @param class_ The class of the object which caused the exception * @param socket The socket which could not be bound * @param host The host on which binding failed * @param port The port on which binding failed * @return An initialized bind failed exception */ - initWithClass: (Class)class_ socket: (OFTCPSocket*)socket host: (OFString*)host port: (uint16_t)port; /*! * @return The socket which could not be bound */ - (OFTCPSocket*)socket; /*! * @return The host on which binding failed */ - (OFString*)host; /*! * @return The port on which binding failed */ - (uint16_t)port; /*! * @return The errno from when the exception was created */ - (int)errNo; @end |
Modified src/exceptions/OFChangeDirectoryFailedException.h from [3beb130497] to [b9ebcf5538].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating changing to a directory failed */ @interface OFChangeDirectoryFailedException: OFException { OFString *path; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *path; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param path A string with the path of the directory to which couldn't be * changed * @return A new change directory failed exception */ + (instancetype)exceptionWithClass: (Class)class_ path: (OFString*)path; /*! * Initializes an already allocated change directory failed exception. * * @param class_ The class of the object which caused the exception * @param path A string with the path of the directory to which couldn't be * changed * @return An initialized change directory failed exception */ - initWithClass: (Class)class_ path: (OFString*)path; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return A string with the path of the directory to which couldn't changed */ - (OFString*)path; @end |
Modified src/exceptions/OFChangeFileModeFailedException.h from [affc9d01dd] to [f2292e7609].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #include <sys/types.h> #import "OFException.h" | | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | * file. */ #include <sys/types.h> #import "OFException.h" /*! * @brief An exception indicating that changing the mode of a file failed. */ @interface OFChangeFileModeFailedException: OFException { OFString *path; mode_t mode; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *path; @property (readonly) mode_t mode; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param path The path of the file * @param mode The new mode for the file * @return An initialized change file mode failed exception */ + (instancetype)exceptionWithClass: (Class)class_ path: (OFString*)path mode: (mode_t)mode; /*! * Initializes an already allocated change file mode failed exception. * * @param class_ The class of the object which caused the exception * @param path The path of the file * @param mode The new mode for the file * @return An initialized change file mode failed exception */ - initWithClass: (Class)class_ path: (OFString*)path mode: (mode_t)mode; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return The path of the file */ - (OFString*)path; /*! * @return The new mode for the file */ - (mode_t)mode; @end |
Modified src/exceptions/OFChangeFileOwnerFailedException.h from [9421a3246c] to [bc02ab447c].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #ifndef _WIN32 | | | | | | | | | | | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #ifndef _WIN32 /*! * @brief An exception indicating that changing the owner of a file failed. */ @interface OFChangeFileOwnerFailedException: OFException { OFString *path; OFString *owner; OFString *group; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *path; @property (readonly, copy, nonatomic) OFString *owner; @property (readonly, copy, nonatomic) OFString *group; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param path The path of the file * @param owner The new owner for the file * @param group The new group for the file * @return An initialized change file owner failed exception */ + (instancetype)exceptionWithClass: (Class)class_ path: (OFString*)path owner: (OFString*)owner group: (OFString*)group; /*! * Initializes an already allocated change file owner failed exception. * * @param class_ The class of the object which caused the exception * @param path The path of the file * @param owner The new owner for the file * @param group The new group for the file * @return An initialized change file owner failed exception */ - initWithClass: (Class)class_ path: (OFString*)path owner: (OFString*)owner group: (OFString*)group; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return The path of the file */ - (OFString*)path; /*! * @return The new owner for the file */ - (OFString*)owner; /*! * @return The new group for the file */ - (OFString*)group; @end #endif |
Modified src/exceptions/OFConditionBroadcastFailedException.h from [12a3b4f9af] to [01bacf1dfa].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFCondition; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFCondition; /*! * @brief An exception indicating broadcasting a condition failed. */ @interface OFConditionBroadcastFailedException: OFException { OFCondition *condition; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFCondition *condition; #endif /*! * @param class_ The class of the object which caused the exception * @param condition The condition which could not be broadcasted * @return A new condition broadcast failed exception */ + (instancetype)exceptionWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * Initializes an already allocated condition broadcast failed exception. * * @param class_ The class of the object which caused the exception * @param condition The condition which could not be broadcasted * @return An initialized condition broadcast failed exception */ - initWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * @return The condition which could not be broadcasted */ - (OFCondition*)condition; @end |
Modified src/exceptions/OFConditionSignalFailedException.h from [ccc6986d00] to [d749dd79db].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFCondition; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFCondition; /*! * @brief An exception indicating signaling a condition failed. */ @interface OFConditionSignalFailedException: OFException { OFCondition *condition; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFCondition *condition; #endif /*! * @param class_ The class of the object which caused the exception * @param condition The condition which could not be signaled * @return A new condition signal failed exception */ + (instancetype)exceptionWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * Initializes an already allocated condition signal failed exception. * * @param class_ The class of the object which caused the exception * @param condition The condition which could not be signaled * @return An initialized condition signal failed exception */ - initWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * @return The condition which could not be signaled */ - (OFCondition*)condition; @end |
Modified src/exceptions/OFConditionStillWaitingException.h from [fca0f6e639] to [d9a5fff472].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFCondition; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | * file. */ #import "OFException.h" @class OFCondition; /*! * @brief An exception indicating that a thread is still waiting for a * condition. */ @interface OFConditionStillWaitingException: OFException { OFCondition *condition; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFCondition *condition; #endif /*! * @param class_ The class of the object which caused the exception * @param condition The condition for which is still being waited * @return A new condition still waiting exception */ + (instancetype)exceptionWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * Initializes an already allocated condition still waiting exception. * * @param class_ The class of the object which caused the exception * @param condition The condition for which is still being waited * @return An initialized condition still waiting exception */ - initWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * @return The condition for which is still being waited */ - (OFCondition*)condition; @end |
Modified src/exceptions/OFConditionWaitFailedException.h from [a05792c7b8] to [8bf9a3aaff].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFCondition; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFCondition; /*! * @brief An exception indicating waiting for a condition failed. */ @interface OFConditionWaitFailedException: OFException { OFCondition *condition; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFCondition *condition; #endif /*! * @param class_ The class of the object which caused the exception * @param condition The condition for which could not be waited * @return A new condition wait failed exception */ + (instancetype)exceptionWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * Initializes an already allocated condition wait failed exception. * * @param class_ The class of the object which caused the exception * @param condition The condition for which could not be waited * @return An initialized condition wait failed exception */ - initWithClass: (Class)class_ condition: (OFCondition*)condition; /*! * @return The condition for which could not be waited */ - (OFCondition*)condition; @end |
Modified src/exceptions/OFConnectionFailedException.h from [cf16965ef3] to [be82688ac1].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFTCPSocket; | | | | | | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | * file. */ #import "OFException.h" @class OFTCPSocket; /*! * @brief An exception indicating that a connection could not be established. */ @interface OFConnectionFailedException: OFException { OFTCPSocket *socket; OFString *host; uint16_t port; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFTCPSocket *socket; @property (readonly, copy, nonatomic) OFString *host; @property (readonly) uint16_t port; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param socket The socket which could not connect * @param host The host to which the connection failed * @param port The port on the host to which the connection failed * @return A new connection failed exception */ + (instancetype)exceptionWithClass: (Class)class_ socket: (OFTCPSocket*)socket host: (OFString*)host port: (uint16_t)port; /*! * Initializes an already allocated connection failed exception. * * @param class_ The class of the object which caused the exception * @param socket The socket which could not connect * @param host The host to which the connection failed * @param port The port on the host to which the connection failed * @return An initialized connection failed exception */ - initWithClass: (Class)class_ socket: (OFTCPSocket*)socket host: (OFString*)host port: (uint16_t)port; /*! * @return The socket which could not connect */ - (OFTCPSocket*)socket; /*! * @return The host to which the connection failed */ - (OFString*)host; /*! * @return The port on the host to which the connection failed */ - (uint16_t)port; /*! * @return The errno from when the exception was created */ - (int)errNo; @end |
Modified src/exceptions/OFCopyFileFailedException.h from [2ecd97f65f] to [ed051cb16e].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that copying a file failed. */ @interface OFCopyFileFailedException: OFException { OFString *sourcePath; OFString *destinationPath; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *sourcePath; @property (readonly, copy, nonatomic) OFString *destinationPath; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param source The original path * @param destination The new path * @return A new copy file failed exception */ + (instancetype)exceptionWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * Initializes an already allocated copy file failed exception. * * @param class_ The class of the object which caused the exception * @param source The original path * @param destination The new path * @return An initialized copy file failed exception */ - initWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return The path of the source file */ - (OFString*)sourcePath; /*! * @return The destination path */ - (OFString*)destinationPath; @end |
Modified src/exceptions/OFCreateDirectoryFailedException.h from [04b508ef4d] to [079f340e02].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating a directory couldn't be created. */ @interface OFCreateDirectoryFailedException: OFException { OFString *path; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *path; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param path A string with the path of the directory which couldn't be created * @return A new create directory failed exception */ + (instancetype)exceptionWithClass: (Class)class_ path: (OFString*)path; /*! * Initializes an already allocated create directory failed exception. * * @param class_ The class of the object which caused the exception * @param path A string with the path of the directory which couldn't be created * @return An initialized create directory failed exception */ - initWithClass: (Class)class_ path: (OFString*)path; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return A string with the path of the directory which couldn't be created */ - (OFString*)path; @end |
Modified src/exceptions/OFDeleteDirectoryFailedException.h from [d3f645608a] to [d173c2848c].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that deleting a directory failed. */ @interface OFDeleteDirectoryFailedException: OFException { OFString *path; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *path; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param path The path of the directory * @return A new delete directory failed exception */ + (instancetype)exceptionWithClass: (Class)class_ path: (OFString*)path; /*! * Initializes an already allocated delete directory failed exception. * * @param class_ The class of the object which caused the exception * @param path The path of the directory * @return An initialized delete directory failed exception */ - initWithClass: (Class)class_ path: (OFString*)path; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return The path of the directory */ - (OFString*)path; @end |
Modified src/exceptions/OFDeleteFileFailedException.h from [0bc79ded9a] to [fdb8970003].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that deleting a file failed. */ @interface OFDeleteFileFailedException: OFException { OFString *path; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *path; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param path The path of the file * @return A new delete file failed exception */ + (instancetype)exceptionWithClass: (Class)class_ path: (OFString*)path; /*! * Initializes an already allocated delete file failed exception. * * @param class_ The class of the object which caused the exception * @param path The path of the file * @return An initialized delete file failed exception */ - initWithClass: (Class)class_ path: (OFString*)path; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return The path of the file */ - (OFString*)path; @end |
Modified src/exceptions/OFEnumerationMutationException.h from [df642fbe51] to [237dcae369].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that a mutation was detected during * enumeration. */ @interface OFEnumerationMutationException: OFException { id object; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) id object; #endif /*! * @param class_ The class of the object which caused the exception * @param object The object which was mutated during enumeration * @return A new enumeration mutation exception */ + (instancetype)exceptionWithClass: (Class)class_ object: (id)object; /*! * Initializes an already allocated enumeration mutation exception. * * @param class_ The class of the object which caused the exception * @param object The object which was mutated during enumeration * @return An initialized enumeration mutation exception */ - initWithClass: (Class)class_ object: (id)object; /*! * @return The object which was mutated during enumeration */ - (id)object; @end |
Modified src/exceptions/OFException.h from [1070cfb5a4] to [aebf101d61].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFObject.h" @class OFString; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 | * file. */ #import "OFObject.h" @class OFString; /*! * @brief The base class for all exceptions in ObjFW * * The OFException class is the base class for all exceptions in ObjFW, except * the OFAllocFailedException. */ @interface OFException: OFObject { Class inClass; OFString *description; } #ifdef OF_HAVE_PROPERTIES @property (readonly) Class inClass; #endif /*! * Creates a new exception. * * @param class_ The class of the object which caused the exception * @return A new exception */ + (instancetype)exceptionWithClass: (Class)class_; /*! * Initializes an already allocated OFException. * * @param class_ The class of the object which caused the exception * @return An initialized OFException */ - initWithClass: (Class)class_; /*! * @return The class of the object in which the exception happened */ - (Class)inClass; /*! * @return A description of the exception */ - (OFString*)description; @end |
Modified src/exceptions/OFHTTPRequestFailedException.h from [cfa7c8cc6b] to [c05f9a478a].
︙ | ︙ | |||
15 16 17 18 19 20 21 | */ #import "OFException.h" @class OFHTTPRequest; @class OFHTTPRequestResult; | | | | | | | | | | | | | | | | | | 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 | */ #import "OFException.h" @class OFHTTPRequest; @class OFHTTPRequestResult; /*! * @brief An exception indicating that a HTTP request failed. */ @interface OFHTTPRequestFailedException: OFException { OFHTTPRequest *request; OFHTTPRequestResult *result; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFHTTPRequest *request; @property (readonly, retain, nonatomic) OFHTTPRequestResult *result; #endif /*! * @param class_ The class of the object which caused the exception * @param request The HTTP request which failed * @param result The result of the failed HTTP request * @return A new HTTP request failed exception */ + (instancetype)exceptionWithClass: (Class)class_ request: (OFHTTPRequest*)request result: (OFHTTPRequestResult*)result; /*! * Initializes an already allocated HTTP request failed exception * * @param class_ The class of the object which caused the exception * @param request The HTTP request which failed * @param result The result of the failed HTTP request * @return A new HTTP request failed exception */ - initWithClass: (Class)class_ request: (OFHTTPRequest*)request result: (OFHTTPRequestResult*)result; /*! * @return The HTTP request which failed */ - (OFHTTPRequest*)request; /*! * @return The result of the failed HTTP request */ - (OFHTTPRequestResult*)result; @end |
Modified src/exceptions/OFHashAlreadyCalculatedException.h from [bffa480758] to [ac787d220d].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFHash; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFHash; /*! * @brief An exception indicating that the hash has already been calculated. */ @interface OFHashAlreadyCalculatedException: OFException { OFHash *hashObject; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFHash *hashObject; #endif /*! * @param class_ The class of the object which caused the exception * @param hash The hash which has already been calculated * @return A new hash already calculated exception */ + (instancetype)exceptionWithClass: (Class)class_ hash: (OFHash*)hash; /*! * Initializes an already allocated hash already calculated exception. * * @param class_ The class of the object which caused the exception * @param hash The hash which has already been calculated * @return An initialized hash already calculated exception */ - initWithClass: (Class)class_ hash: (OFHash*)hash; /*! * @return The hash which has already been calculated */ - (OFHash*)hashObject; @end |
Modified src/exceptions/OFInitializationFailedException.h from [d0a6f23da6] to [d05684db85].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that initializing something failed. */ @interface OFInitializationFailedException: OFException @end |
Modified src/exceptions/OFInvalidArgumentException.h from [9262afb54a] to [d5b4fd9d81].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that the argument is invalid for this method. */ @interface OFInvalidArgumentException: OFException { SEL selector; } #ifdef OF_HAVE_PROPERTIES @property (readonly) SEL selector; #endif /*! * @param class_ The class of the object which caused the exception * @param selector The selector which doesn't accept the argument * @return A new invalid argument exception */ + (instancetype)exceptionWithClass: (Class)class_ selector: (SEL)selector; /*! * Initializes an already allocated invalid argument exception * * @param class_ The class of the object which caused the exception * @param selector The selector which doesn't accept the argument * @return An initialized invalid argument exception */ - initWithClass: (Class)class_ selector: (SEL)selector; /*! * @return The selector to which an invalid argument was passed */ - (SEL)selector; @end |
Modified src/exceptions/OFInvalidEncodingException.h from [06eceae722] to [f12016bf66].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that the encoding is invalid for this object. */ @interface OFInvalidEncodingException: OFException @end |
Modified src/exceptions/OFInvalidFormatException.h from [e4a5338a9b] to [00384b942b].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that the format is invalid. */ @interface OFInvalidFormatException: OFException @end |
Modified src/exceptions/OFInvalidJSONException.h from [dd69569b81] to [65709d01cc].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating a JSON representation is invalid. */ @interface OFInvalidJSONException: OFException { size_t line; } #ifdef OF_HAVE_PROPERTIES @property (readonly) size_t line; #endif /*! * @param class_ The class of the object which caused the exception * @param line The line in which the parsing error encountered * @return A new invalid JSON exception */ + (instancetype)exceptionWithClass: (Class)class_ line: (size_t)line; /*! * Initializes an already allocated invalid JSON exception. * * @param class_ The class of the object which caused the exception * @param line The line in which the parsing error encountered * @return An initialized invalid JSON exception */ - initWithClass: (Class)class_ line: (size_t)line; /*! * @return The line in which parsing the JSON representation failed */ - (size_t)line; @end |
Modified src/exceptions/OFInvalidServerReplyException.h from [e6b83df467] to [202340a7e2].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that the server sent an invalid reply. */ @interface OFInvalidServerReplyException: OFException @end |
Modified src/exceptions/OFLinkFailedException.h from [f106ab4027] to [b74369b22f].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #ifndef _WIN32 | | | | | | | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #ifndef _WIN32 /*! * @brief An exception indicating that creating a link failed. */ @interface OFLinkFailedException: OFException { OFString *sourcePath; OFString *destinationPath; int errNo; } # ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *sourcePath; @property (readonly, copy, nonatomic) OFString *destinationPath; @property (readonly) int errNo; # endif /*! * @param class_ The class of the object which caused the exception * @param source The source for the link * @param destination The destination for the link * @return A new link failed exception */ + (instancetype)exceptionWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * Initializes an already allocated link failed exception. * * @param class_ The class of the object which caused the exception * @param source The source for the link * @param destination The destination for the link * @return An initialized link failed exception */ - initWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return A string with the source for the link */ - (OFString*)sourcePath; /*! * @return A string with the destination for the link */ - (OFString*)destinationPath; @end #endif |
Modified src/exceptions/OFListenFailedException.h from [0ed7c6fb04] to [873d16287f].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFTCPSocket; | | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | * file. */ #import "OFException.h" @class OFTCPSocket; /*! * @brief An exception indicating that listening on the socket failed. */ @interface OFListenFailedException: OFException { OFTCPSocket *socket; int backLog; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFTCPSocket *socket; @property (readonly) int backLog; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param socket The socket which failed to listen * @param backlog The requested size of the back log * @return A new listen failed exception */ + (instancetype)exceptionWithClass: (Class)class_ socket: (OFTCPSocket*)socket backLog: (int)backlog; /*! * Initializes an already allocated listen failed exception * * @param class_ The class of the object which caused the exception * @param socket The socket which failed to listen * @param backlog The requested size of the back log * @return An initialized listen failed exception */ - initWithClass: (Class)class_ socket: (OFTCPSocket*)socket backLog: (int)backlog; /*! * @return The socket which failed to listen */ - (OFTCPSocket*)socket; /*! * @return The requested back log. */ - (int)backLog; /*! * @return The errno from when the exception was created */ - (int)errNo; @end |
Modified src/exceptions/OFLockFailedException.h from [34551c1887] to [b23941bc5b].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #import "OFLocking.h" | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #import "OFLocking.h" /*! * @brief An exception indicating that locking a lock failed. */ @interface OFLockFailedException: OFException { id <OFLocking> lock; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) id <OFLocking> lock; #endif /*! * @param class_ The class of the object which caused the exception * @param lock The lock which could not be locked * @return A new lock failed exception */ + (instancetype)exceptionWithClass: (Class)class_ lock: (id <OFLocking>)lock; /*! * Initializes an already allocated lock failed exception. * * @param class_ The class of the object which caused the exception * @param lock The lock which could not be locked * @return An initialized lock failed exception */ - initWithClass: (Class)class_ lock: (id <OFLocking>)lock; /*! * @param The lock which could not be locked */ - (id <OFLocking>)lock; @end |
Modified src/exceptions/OFMalformedXMLException.h from [afc4e720c1] to [b9324ee29d].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFXMLParser; | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | * file. */ #import "OFException.h" @class OFXMLParser; /*! * @brief An exception indicating that a parser encountered malformed XML. */ @interface OFMalformedXMLException: OFException { OFXMLParser *parser; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFXMLParser *parser; #endif /*! * @param parser The parser which encountered malformed XML * @return A new malformed XML exception */ + (instancetype)exceptionWithClass: (Class)class_ parser: (OFXMLParser*)parser; /*! * Initializes an already allocated malformed XML exception. * * @param parser The parser which encountered malformed XML * @return An initialized malformed XML exception */ - initWithClass: (Class)class_ parser: (OFXMLParser*)parser; /*! * @return The parser which encountered malformed XML */ - (OFXMLParser*)parser; @end |
Modified src/exceptions/OFMemoryNotPartOfObjectException.h from [da2c12c442] to [a00834faaf].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating the given memory is not part of the object. */ @interface OFMemoryNotPartOfObjectException: OFException { void *pointer; } #ifdef OF_HAVE_PROPERTIES @property (readonly) void *pointer; #endif /*! * @param class_ The class of the object which caused the exception * @param ptr A pointer to the memory that is not part of the object * @return A new memory not part of object exception */ + (instancetype)exceptionWithClass: (Class)class_ pointer: (void*)ptr; /*! * Initializes an already allocated memory not part of object exception. * * @param class_ The class of the object which caused the exception * @param ptr A pointer to the memory that is not part of the object * @return An initialized memory not part of object exception */ - initWithClass: (Class)class_ pointer: (void*)ptr; /*! * @return A pointer to the memory which is not part of the object */ - (void*)pointer; @end |
Modified src/exceptions/OFNotConnectedException.h from [b592f8f4ca] to [179d782dc0].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFStreamSocket; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFStreamSocket; /*! * @brief An exception indicating a socket is not connected or bound. */ @interface OFNotConnectedException: OFException { OFStreamSocket *socket; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFStreamSocket *socket; #endif /*! * @param class_ The class of the object which caused the exception * @param socket The socket which is not connected * @return A new not connected exception */ + (instancetype)exceptionWithClass: (Class)class_ socket: (OFStreamSocket*)socket; /*! * Initializes an already allocated not connected exception. * * @param class_ The class of the object which caused the exception * @param socket The socket which is not connected * @return An initialized not connected exception */ - initWithClass: (Class)class_ socket: (OFStreamSocket*)socket; /*! * @return The socket which is not connected */ - (OFStreamSocket*)socket; @end |
Modified src/exceptions/OFNotImplementedException.h from [8dd8831751] to [1333f72b01].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that a method or part of it is not * implemented. */ @interface OFNotImplementedException: OFException { SEL selector; } #ifdef OF_HAVE_PROPERTIES @property (readonly) SEL selector; #endif /*! * @param class_ The class of the object which caused the exception * @param selector The selector which is not or not fully implemented * @return A new not implemented exception */ + (instancetype)exceptionWithClass: (Class)class_ selector: (SEL)selector; /*! * Initializes an already allocated not implemented exception. * * @param class_ The class of the object which caused the exception * @param selector The selector which is not or not fully implemented * @return An initialized not implemented exception */ - initWithClass: (Class)class_ selector: (SEL)selector; /*! * @return The selector which is not or not fully implemented */ - (SEL)selector; @end |
Modified src/exceptions/OFOpenFileFailedException.h from [bbb3cac915] to [8fc382f4be].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating a file couldn't be opened. */ @interface OFOpenFileFailedException: OFException { OFString *path; OFString *mode; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *path; @property (readonly, copy, nonatomic) OFString *mode; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param path A string with the path of the file tried to open * @param mode A string with the mode in which the file should have been opened * @return A new open file failed exception */ + (instancetype)exceptionWithClass: (Class)class_ path: (OFString*)path mode: (OFString*)mode; /*! * Initializes an already allocated open file failed exception. * * @param class_ The class of the object which caused the exception * @param path A string with the path of the file which couldn't be opened * @param mode A string with the mode in which the file should have been opened * @return An initialized open file failed exception */ - initWithClass: (Class)class_ path: (OFString*)path mode: (OFString*)mode; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return A string with the path of the file which couldn't be opened */ - (OFString*)path; /*! * @return A string with the mode in which the file should have been opened */ - (OFString*)mode; @end |
Modified src/exceptions/OFOutOfMemoryException.h from [3b65a6153f] to [a51722b386].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating there is not enough memory available. */ @interface OFOutOfMemoryException: OFException { size_t requestedSize; } #ifdef OF_HAVE_PROPERTIES @property (readonly) size_t requestedSize; #endif /*! * @param class_ The class of the object which caused the exception * @param size The size of the memory that couldn't be allocated * @return A new no memory exception */ + (instancetype)exceptionWithClass: (Class)class_ requestedSize: (size_t)size; /*! * Initializes an already allocated no memory exception. * * @param class_ The class of the object which caused the exception * @param size The size of the memory that couldn't be allocated * @return An initialized no memory exception */ - initWithClass: (Class)class_ requestedSize: (size_t)size; /*! * @return The size of the memoory that couldn't be allocated */ - (size_t)requestedSize; @end |
Modified src/exceptions/OFOutOfRangeException.h from [72a0b4ae1a] to [38e99b0ac2].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating the given value is out of range. */ @interface OFOutOfRangeException: OFException @end |
Modified src/exceptions/OFReadFailedException.h from [11b7a97eaa] to [39fa8068ab].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFReadOrWriteFailedException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 | * 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. */ #import "OFReadOrWriteFailedException.h" /*! * @brief An exception indicating a read on a stream failed. */ @interface OFReadFailedException: OFReadOrWriteFailedException @end |
Modified src/exceptions/OFReadOrWriteFailedException.h from [f9eb7c2c4f] to [a0d2d2cc4d].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFStream; | | | | | | | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | * file. */ #import "OFException.h" @class OFStream; /*! * @brief An exception indicating a read or write to a stream failed. */ @interface OFReadOrWriteFailedException: OFException { OFStream *stream; size_t requestedLength; @public int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFStream *stream; @property (readonly) size_t requestedLength; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param stream The stream which caused the read or write failed exception * @param length The requested length of the data that couldn't be read / * written * @return A new open file failed exception */ + (instancetype)exceptionWithClass: (Class)class_ stream: (OFStream*)stream requestedLength: (size_t)length; /*! * Initializes an already allocated read or write failed exception. * * @param class_ The class of the object which caused the exception * @param stream The stream which caused the read or write failed exception * @param length The requested length of the data that couldn't be read / * written * @return A new open file failed exception */ - initWithClass: (Class)class_ stream: (OFStream*)stream requestedLength: (size_t)length; /*! * @return The stream which caused the read or write failed exception */ - (OFStream*)stream; /*! * @return The requested length of the data that couldn't be read / written */ - (size_t)requestedLength; /*! * @return The errno from when the exception was created */ - (int)errNo; @end |
Modified src/exceptions/OFRenameFileFailedException.h from [d9ec20488f] to [72ec79000c].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that renaming a file failed. */ @interface OFRenameFileFailedException: OFException { OFString *sourcePath; OFString *destinationPath; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *sourcePath; @property (readonly, copy, nonatomic) OFString *destinationPath; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param source The original path * @param destination The new path * @return A new rename file failed exception */ + (instancetype)exceptionWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * Initializes an already allocated rename failed exception. * * @param class_ The class of the object which caused the exception * @param source The original path * @param destination The new path * @return An initialized rename file failed exception */ - initWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return The original path */ - (OFString*)sourcePath; /*! * @return The new path */ - (OFString*)destinationPath; @end |
Modified src/exceptions/OFSeekFailedException.h from [a7860b2a1b] to [bfc6775dde].
︙ | ︙ | |||
16 17 18 19 20 21 22 | #include <sys/types.h> #import "OFException.h" @class OFSeekableStream; | | | | | | | | | | | | | | | | | | | | | | 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 | #include <sys/types.h> #import "OFException.h" @class OFSeekableStream; /*! * @brief An exception indicating that seeking in a stream failed. */ @interface OFSeekFailedException: OFException { OFSeekableStream *stream; off_t offset; int whence; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFSeekableStream *stream; @property (readonly) off_t offset; @property (readonly) int whence; @property (readonly) int errNo; #endif /*! * @param stream The stream for which seeking failed * @param offset The offset to which seeking failed * @param whence To what the offset is relative * @return A new seek failed exception */ + (instancetype)exceptionWithClass: (Class)class_ stream: (OFSeekableStream*)stream offset: (off_t)offset whence: (int)whence; /*! * Initializes an already allocated seek failed exception. * * @param stream The stream for which seeking failed * @param offset The offset to which seeking failed * @param whence To what the offset is relative * @return An initialized seek failed exception */ - initWithClass: (Class)class_ stream: (OFSeekableStream*)stream offset: (off_t)offset whence: (int)whence; /*! * @return The stream for which seeking failed */ - (OFSeekableStream*)stream; /*! * @return The offset to which seeking failed */ - (off_t)offset; /*! * @return To what the offset is relative */ - (int)whence; /*! * @return The errno from when the exception was created */ - (int)errNo; @end |
Modified src/exceptions/OFSetOptionFailedException.h from [3b6762b0cd] to [ff3c1ac6a2].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFStream; | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | * file. */ #import "OFException.h" @class OFStream; /*! * @brief An exception indicating that setting an option for a stream failed. */ @interface OFSetOptionFailedException: OFException { OFStream *stream; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFStream *stream; #endif /*! * @param stream The stream for which the option could not be set * @return A new set option failed exception */ + (instancetype)exceptionWithClass: (Class)class_ stream: (OFStream*)stream; /*! * Initializes an already allocated set option failed exception. * * @param stream The stream for which the option could not be set * @return An initialized set option failed exception */ - initWithClass: (Class)class_ stream: (OFStream*)stream; /*! * @return The stream for which the option could not be set */ - (OFStream*)stream; @end |
Modified src/exceptions/OFStillLockedException.h from [da3d6698c1] to [66d82564ab].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #import "OFLocking.h" | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #import "OFLocking.h" /*! * @brief An exception indicating that a lock is still locked. */ @interface OFStillLockedException: OFException { id <OFLocking> lock; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) id <OFLocking> lock; #endif /*! * @param class_ The class of the object which caused the exception * @param lock The lock which is still locked * @return A new still locked exception */ + (instancetype)exceptionWithClass: (Class)class_ lock: (id <OFLocking>)lock; /*! * Initializes an already allocated still locked exception. * * @param class_ The class of the object which caused the exception * @param lock The lock which is still locked * @return An initialized still locked exception */ - initWithClass: (Class)class_ lock: (id <OFLocking>)lock; /*! * @return The lock which is still locked */ - (id <OFLocking>)lock; @end |
Modified src/exceptions/OFSymlinkFailedException.h from [2ddabcad84] to [9de5937f57].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #ifndef _WIN32 | | | | | | | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #ifndef _WIN32 /*! * @brief An exception indicating that creating a symlink failed. */ @interface OFSymlinkFailedException: OFException { OFString *sourcePath; OFString *destinationPath; int errNo; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *sourcePath; @property (readonly, copy, nonatomic) OFString *destinationPath; @property (readonly) int errNo; #endif /*! * @param class_ The class of the object which caused the exception * @param source The source for the symlink * @param destination The destination for the symlink * @return A new symlink failed exception */ + (instancetype)exceptionWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * Initializes an already allocated symlink failed exception. * * @param class_ The class of the object which caused the exception * @param source The source for the symlink * @param destination The destination for the symlink * @return An initialized symlink failed exception */ - initWithClass: (Class)class_ sourcePath: (OFString*)source destinationPath: (OFString*)destination; /*! * @return The errno from when the exception was created */ - (int)errNo; /*! * @return A string with the source for the symlink */ - (OFString*)sourcePath; /*! * @return A string with the destination for the symlink */ - (OFString*)destinationPath; @end #endif |
Modified src/exceptions/OFThreadJoinFailedException.h from [cf2dc40e40] to [f5af229ea4].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFThread; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFThread; /*! * @brief An exception indicating that joining a thread failed. */ @interface OFThreadJoinFailedException: OFException { OFThread *thread; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFThread *thread; #endif /*! * @param class_ The class of the object which caused the exception * @param thread The thread which could not be joined * @return A new thread join failed exception */ + (instancetype)exceptionWithClass: (Class)class_ thread: (OFThread*)thread; /*! * Initializes an already allocated thread join failed exception. * * @param class_ The class of the object which caused the exception * @param thread The thread which could not be joined * @return An initialized thread join failed exception */ - initWithClass: (Class)class_ thread: (OFThread*)thread; /*! * @return The thread which could not be joined */ - (OFThread*)thread; @end |
Modified src/exceptions/OFThreadStartFailedException.h from [fdad7cfed9] to [ef2d7fdca0].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFThread; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFThread; /*! * @brief An exception indicating that starting a thread failed. */ @interface OFThreadStartFailedException: OFException { OFThread *thread; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFThread *thread; #endif /*! * @param class_ The class of the object which caused the exception * @param thread The thread which could not be started * @return An initialized thread start failed exception */ + (instancetype)exceptionWithClass: (Class)class_ thread: (OFThread*)thread; /*! * Initializes an already allocated thread start failed exception. * * @param class_ The class of the object which caused the exception * @param thread The thread which could not be started * @return An initialized thread start failed exception */ - initWithClass: (Class)class_ thread: (OFThread*)thread; /*! * @return The thread which could not be started */ - (OFThread*)thread; @end |
Modified src/exceptions/OFThreadStillRunningException.h from [306bedb437] to [38c5cd8176].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFThread; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 | * file. */ #import "OFException.h" @class OFThread; /*! * @brief An exception indicating that a thread is still running. */ @interface OFThreadStillRunningException: OFException { OFThread *thread; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFThread *thread; #endif /*! * @param class_ The class of the object which caused the exception * @param thread The thread which is still running * @return A new thread still running exception */ + (instancetype)exceptionWithClass: (Class)class_ thread: (OFThread*)thread; /*! * Initializes an already allocated thread still running exception. * * @param class_ The class of the object which caused the exception * @param thread The thread which is still running * @return An initialized thread still running exception */ - initWithClass: (Class)class_ thread: (OFThread*)thread; /*! * @return The thread which is still running */ - (OFThread*)thread; @end |
Modified src/exceptions/OFTruncatedDataException.h from [c41efa96ff] to [22121c25a4].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that data was truncated while it should not * have been truncated. */ @interface OFTruncatedDataException: OFException @end |
Modified src/exceptions/OFUnboundNamespaceException.h from [d127c108c6] to [534b808350].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating an attempt to use an unbound namespace. */ @interface OFUnboundNamespaceException: OFException { OFString *ns; OFString *prefix; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic, getter=namespace) OFString *ns; @property (readonly, copy, nonatomic) OFString *prefix; #endif /*! * @param class_ The class of the object which caused the exception * @param ns The namespace which is unbound * @return A new unbound namespace exception */ + (instancetype)exceptionWithClass: (Class)class_ namespace: (OFString*)ns; /*! * @param class_ The class of the object which caused the exception * @param prefix The prefix which is unbound * @return A new unbound namespace exception */ + (instancetype)exceptionWithClass: (Class)class_ prefix: (OFString*)prefix; /*! * Initializes an already allocated unbound namespace exception * * @param class_ The class of the object which caused the exception * @param ns The namespace which is unbound * @return An initialized unbound namespace exception */ - initWithClass: (Class)class_ namespace: (OFString*)ns; /*! * Initializes an already allocated unbound namespace exception * * @param class_ The class of the object which caused the exception * @param prefix The prefix which is unbound * @return An initialized unbound namespace exception */ - initWithClass: (Class)class_ prefix: (OFString*)prefix; /*! * @return The unbound namespace */ - (OFString*)namespace; /*! * @return The unbound prefix */ - (OFString*)prefix; @end |
Modified src/exceptions/OFUnlockFailedException.h from [7d2a66af7c] to [d34f94e502].
︙ | ︙ | |||
13 14 15 16 17 18 19 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #import "OFLocking.h" | | | | | | | | | | | | | | 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | * LICENSE.GPLv2 or LICENSE.GPLv3 respectively included in the packaging of this * file. */ #import "OFException.h" #import "OFLocking.h" /*! * @brief An exception indicating that unlocking a lock failed. */ @interface OFUnlockFailedException: OFException { id <OFLocking> lock; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) id <OFLocking> lock; #endif /*! * @param class_ The class of the object which caused the exception * @param lock The lock which could not be unlocked * @return A new unlock failed exception */ + (instancetype)exceptionWithClass: (Class)class_ lock: (id <OFLocking>)lock; /*! * Initializes an already allocated unlock failed exception. * * @param class_ The class of the object which caused the exception * @param lock The lock which could not be unlocked * @return An initialized unlock failed exception */ - initWithClass: (Class)class_ lock: (id <OFLocking>)lock; /*! * @return The lock which could not be unlocked */ - (id <OFLocking>)lock; @end |
Modified src/exceptions/OFUnsupportedProtocolException.h from [6c4ace59cb] to [37606905ac].
︙ | ︙ | |||
14 15 16 17 18 19 20 | * file. */ #import "OFException.h" @class OFURL; | | | | | | | | | | | | | | 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 | * file. */ #import "OFException.h" @class OFURL; /*! * @brief An exception indicating that the protocol specified by the URL is not * supported. */ @interface OFUnsupportedProtocolException: OFException { OFURL *URL; } #ifdef OF_HAVE_PROPERTIES @property (readonly, retain, nonatomic) OFURL *URL; #endif /*! * @param class_ The class of the object which caused the exception * @param url The URL whose protocol is unsupported * @return A new unsupported protocol exception */ + (instancetype)exceptionWithClass: (Class)class_ URL: (OFURL*)url; /*! * Initializes an already allocated unsupported protocol exception * * @param class_ The class of the object which caused the exception * @param url The URL whose protocol is unsupported * @return An initialized unsupported protocol exception */ - initWithClass: (Class)class_ URL: (OFURL*)url; /*! * @return The URL whose protocol is unsupported */ - (OFURL*)URL; @end |
Modified src/exceptions/OFUnsupportedVersionException.h from [1c4d087ca0] to [d2a3d08879].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFException.h" | | | | | | | | | | | | | | 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 | * 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. */ #import "OFException.h" /*! * @brief An exception indicating that the specified version of the format or * protocol is not supported. */ @interface OFUnsupportedVersionException: OFException { OFString *version; } #ifdef OF_HAVE_PROPERTIES @property (readonly, copy, nonatomic) OFString *version; #endif /*! * @param class_ The class of the object which caused the exception * @param version The version which is unsupported * @return A new unsupported version exception */ + (instancetype)exceptionWithClass: (Class)class_ version: (OFString*)version; /*! * Initializes an already allocated unsupported protocol exception * * @param class_ The class of the object which caused the exception * @param version The version which is unsupported * @return An initialized unsupported version exception */ - initWithClass: (Class)class_ version: (OFString*)version; /*! * @return The version which is unsupported */ - (OFString*)version; @end |
Modified src/exceptions/OFWriteFailedException.h from [fec27107fc] to [0433bbd7e6].
︙ | ︙ | |||
12 13 14 15 16 17 18 | * 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. */ #import "OFReadOrWriteFailedException.h" | | | | 12 13 14 15 16 17 18 19 20 21 22 23 | * 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. */ #import "OFReadOrWriteFailedException.h" /*! * @brief An exception indicating a write to a stream failed. */ @interface OFWriteFailedException: OFReadOrWriteFailedException @end |