Overview
Comment: | Documentation improvements. |
---|---|
Downloads: | Tarball | ZIP archive | SQL archive |
Timelines: | family | ancestors | descendants | both | trunk |
Files: | files | file ages | folders |
SHA3-256: |
30ab311006227d2df1fb727133d3958a |
User & Date: | js on 2013-01-14 19:02:33 |
Other Links: | manifest | tags |
Context
2013-01-14
| ||
23:21 | OFHTTPServer: Always send Server and Date. check-in: 8472e9eade user: js tags: trunk | |
19:02 | Documentation improvements. check-in: 30ab311006 user: js tags: trunk | |
00:39 | OFArray: Add sorting with options. check-in: 188586881d user: js tags: trunk | |
Changes
Modified src/OFArray.h from [0c918cd51d] to [831aff56f7].
︙ | ︙ | |||
136 137 138 139 140 141 142 | * @param count The length of the C array * @return An initialized OFArray */ - initWithObjects: (id const*)objects count: (size_t)count; /*! | | | | | | | 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 | * @param count The length of the C array * @return An initialized OFArray */ - initWithObjects: (id const*)objects count: (size_t)count; /*! * @brief Returns the object at the specified index in the array. * * @warning The returned object is *not* retained and autoreleased for * performance reasons! * * @param index The index of the object to return * @return The object at the specified index in the array */ - (id)objectAtIndex: (size_t)index; - (id)objectAtIndexedSubscript: (size_t)index; /*! * @brief Copies the objects at the specified range to the specified buffer. * |
︙ | ︙ | |||
196 197 198 199 200 201 202 | * address. */ - (BOOL)containsObjectIdenticalTo: (id)object; /*! * @brief Returns the first object of the array or nil. * | | | | | | 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 | * address. */ - (BOOL)containsObjectIdenticalTo: (id)object; /*! * @brief Returns the first object of the array or nil. * * @warning The returned object is *not* 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. * * @warning The returned object is *not* 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. |
︙ | ︙ |
Modified src/OFDictionary.h from [ca10033ab6] to [8191ea81be].
︙ | ︙ | |||
166 167 168 169 170 171 172 | */ - initWithKey: (id)firstKey arguments: (va_list)arguments; /*! * @brief Returns the object for the given key or nil if the key was not found. * | | | | 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 | */ - initWithKey: (id)firstKey arguments: (va_list)arguments; /*! * @brief Returns the object for the given key or nil if the key was not found. * * @warning The returned object is *not* 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; |
︙ | ︙ |
Modified src/OFList.h from [a33374dc7f] to [f54b09d95a].
︙ | ︙ | |||
133 134 135 136 137 138 139 | * address. */ - (BOOL)containsObjectIdenticalTo: (id)object; /*! * @brief Returns the first object of the list or nil. * | | | | | | 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 | * address. */ - (BOOL)containsObjectIdenticalTo: (id)object; /*! * @brief Returns the first object of the list or nil. * * @warning The returned object is *not* 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. * * @warning The returned object is *not* retained and autoreleased for * performance reasons! * * @return The last object of the list or nil */ - (id)lastObject; /*! * @brief Removes all objects from the list. |
︙ | ︙ |
Modified src/OFSeekableStream.h from [03ebe65ec9] to [4e7f25597b].
︙ | ︙ | |||
27 28 29 30 31 32 33 | /*! * @brief A stream that supports seeking. * * @note If you want to subclass this, override * @ref lowlevelSeekToOffset:whence:. OFSeekableStream uses this method * and makes it work together with the caching of OFStream. If you | | | | 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 | /*! * @brief A stream that supports seeking. * * @note If you want to subclass this, override * @ref lowlevelSeekToOffset:whence:. OFSeekableStream uses this method * and makes it work together with the caching of OFStream. If you * override this methods without the lowlevel prefix, you *will* 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 * @param whence From where to seek.@n |
︙ | ︙ |
Modified src/OFStream.h from [0a1063d1c6] to [aa6a3707b4].
︙ | ︙ | |||
36 37 38 39 40 41 42 | typedef BOOL (^of_stream_async_read_line_block_t)(OFStream*, OFString*, OFException*); #endif /*! * @brief A base class for different types of streams. * | | | | | | | | | | 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 | 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 *not* * 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 * @ref lowlevelReadIntoBuffer:length:, @ref lowlevelWriteBuffer:length: * and @ref 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 *will* break * caching and get broken results! */ @interface OFStream: OFObject <OFCopying> { char *cache; char *writeBuffer; size_t cacheLength, writeBufferLength; BOOL writeBufferEnabled; |
︙ | ︙ | |||
74 75 76 77 78 79 80 | * @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; /*! | | | | | | | 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 | * @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 *at most* 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 * @ref 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 @ref 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 *must* be *at least* this big! * @return The number of bytes read */ - (size_t)readIntoBuffer: (void*)buffer length: (size_t)length; /*! * @brief Reads exactly the specified length bytes from the stream into a * buffer. * * Unlike @ref 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 *must* be *at least* this big! */ - (void)readIntoBuffer: (void*)buffer exactLength: (size_t)length; /*! * @brief Asyncronously reads *at most* 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 * @ref 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 @ref 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 *must* 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 |
︙ | ︙ | |||
148 149 150 151 152 153 154 | * Unlike @ref asyncReadIntoBuffer:length:target:selector:, 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. | | | | | 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 | * Unlike @ref asyncReadIntoBuffer:length:target:selector:, 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 *must* 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 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 *at most* ref 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 * @ref 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 @ref 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 *must* 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 |
︙ | ︙ | |||
200 201 202 203 204 205 206 | * Unlike @ref 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. | | | 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 | * Unlike @ref 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 *must* 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 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 |
︙ | ︙ |
Modified src/OFThread.h from [c73b2d3613] to [daf9be21c3].
︙ | ︙ | |||
34 35 36 37 38 39 40 | /*! * @brief A class which provides portable threads. * * To use it, you should create a new class derived from it and reimplement * main. * | | | | | | 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 | /*! * @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 *not* * 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 @public #else @private |
︙ | ︙ | |||
100 101 102 103 104 105 106 | */ + (void)setObject: (id)object forTLSKey: (OFTLSKey*)key; /*! * @brief Returns the object for the specified Thread Local Storage key. * | | | | 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 | */ + (void)setObject: (id)object forTLSKey: (OFTLSKey*)key; /*! * @brief Returns the object for the specified Thread Local Storage key. * * @warning The returned object is *not* retained and autoreleased for * performance reasons! * * @param key The Thread Local Storage key */ + (id)objectForTLSKey: (OFTLSKey*)key; /*! * @brief Returns the current thread. |
︙ | ︙ |
Modified src/exceptions/OFAllocFailedException.h from [b39ca9f361] to [6fe9c714c3].
︙ | ︙ | |||
21 22 23 24 25 26 27 | /*! * @brief An exception indicating an object could not be allocated. * * This exception is preallocated, as when there's no memory, no exception can * be allocated of course. That's why you shouldn't and even can't deallocate * it. * | | | | | | 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | /*! * @brief An exception indicating an object could not be allocated. * * This exception is preallocated, as when 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 which is not an OFException as it's special. It * does not know for which class allocation failed and it should not be handled * like other exceptions, as the exception handling code is not allowed to * allocate *any* memory. */ @interface OFAllocFailedException: OFObject /*! * @brief Returns a description of the exception. * * @return A description of the exception */ - (OFString*)description; @end |