ObjFW
|
A class that handles GZIP compression and decompression transparently for an underlying stream. More...
#include <ObjFW/ObjFW.h>
Instance Methods | |
(instancetype) | - initWithStream:mode: |
Initializes an already allocated OFGZIPStream with the specified underlying stream. | |
Instance Methods inherited from OFStream | |
(size_t) | - readIntoBuffer:length: |
Reads at most length bytes from the stream into a buffer. | |
(void) | - readIntoBuffer:exactLength: |
Reads exactly the specified length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:length: |
Asynchronously reads at most length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:length:runLoopMode: |
Asynchronously reads at most length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:exactLength: |
Asynchronously reads exactly the specified length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:exactLength:runLoopMode: |
Asynchronously reads exactly the specified length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:length:block: |
Asynchronously reads at most ref length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:length:handler: |
Asynchronously reads at most ref length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:length:runLoopMode:block: |
Asynchronously reads at most length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:length:runLoopMode:handler: |
Asynchronously reads at most length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:exactLength:block: |
Asynchronously reads exactly the specified length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:exactLength:handler: |
Asynchronously reads exactly the specified length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:exactLength:runLoopMode:block: |
Asynchronously reads exactly the specified length bytes from the stream into a buffer. | |
(void) | - asyncReadIntoBuffer:exactLength:runLoopMode:handler: |
Asynchronously reads exactly the specified length bytes from the stream into a buffer. | |
(uint8_t) | - readInt8 |
Reads a uint8_t from the stream. | |
(uint16_t) | - readBigEndianInt16 |
Reads a uint16_t from the stream which is encoded in big endian. | |
(uint32_t) | - readBigEndianInt32 |
Reads a uint32_t from the stream which is encoded in big endian. | |
(uint64_t) | - readBigEndianInt64 |
Reads a uint64_t from the stream which is encoded in big endian. | |
(float) | - readBigEndianFloat |
Reads a float from the stream which is encoded in big endian. | |
(double) | - readBigEndianDouble |
Reads a double from the stream which is encoded in big endian. | |
(uint16_t) | - readLittleEndianInt16 |
Reads a uint16_t from the stream which is encoded in little endian. | |
(uint32_t) | - readLittleEndianInt32 |
Reads a uint32_t from the stream which is encoded in little endian. | |
(uint64_t) | - readLittleEndianInt64 |
Reads a uint64_t from the stream which is encoded in little endian. | |
(float) | - readLittleEndianFloat |
Reads a float from the stream which is encoded in little endian. | |
(double) | - readLittleEndianDouble |
Reads a double from the stream which is encoded in little endian. | |
(OFData *) | - readDataWithCount: |
Reads the specified number of items with an item size of 1 from the stream and returns them as OFData. | |
(OFData *) | - readDataWithItemSize:count: |
Reads the specified number of items with the specified item size from the stream and returns them as OFData. | |
(OFData *) | - readDataUntilEndOfStream |
Returns OFData with all the remaining data of the stream. | |
(OFString *) | - readString |
Reads a string until a \0 appears in the stream or the end of the stream is reached. | |
(OFString *) | - readStringWithEncoding: |
Reads a string with the specified encoding until a \0 appears in the stream or the end of the stream is reached. | |
(OFString *) | - readStringWithLength: |
Reads a string with the specified length from the stream. | |
(OFString *) | - readStringWithLength:encoding: |
Reads a string with the specified encoding and length from the stream. | |
(nullable OFString *) | - readLine |
Reads until a newline, \0 or end of stream occurs. | |
(nullable OFString *) | - readLineWithEncoding: |
Reads with the specified encoding until a newline, \0 or end of stream occurs. | |
(void) | - asyncReadString |
Asynchronously reads until a \0 , end of stream or an exception occurs. | |
(void) | - asyncReadStringWithEncoding: |
Asynchronously reads with the specified encoding until a \0 , end of stream or an exception occurs. | |
(void) | - asyncReadStringWithEncoding:runLoopMode: |
Asynchronously reads with the specified encoding until a \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLine |
Asynchronously reads until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithEncoding: |
Asynchronously reads with the specified encoding until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithEncoding:runLoopMode: |
Asynchronously reads with the specified encoding until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadStringWithHandler: |
Asynchronously reads until a \0 , end of stream or an exception occurs. | |
(void) | - asyncReadStringWithEncoding:handler: |
Asynchronously reads with the specified encoding until a \0 , end of stream or an exception occurs. | |
(void) | - asyncReadStringWithEncoding:runLoopMode:handler: |
Asynchronously reads with the specified encoding until a \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithBlock: |
Asynchronously reads until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithHandler: |
Asynchronously reads until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithEncoding:block: |
Asynchronously reads with the specified encoding until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithEncoding:handler: |
Asynchronously reads with the specified encoding until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithEncoding:runLoopMode:block: |
Asynchronously reads with the specified encoding until a newline, \0 , end of stream or an exception occurs. | |
(void) | - asyncReadLineWithEncoding:runLoopMode:handler: |
Asynchronously reads with the specified encoding until a newline, \0 , end of stream or an exception occurs. | |
(OFString *) | - tryReadString |
Tries to read a string until a \0 appears in the stream or the end of the stream is reached. | |
(OFString *) | - tryReadStringWithEncoding: |
Tries to read a string with the specified encoding until a \0 appears in the stream or the end of the stream is reached. | |
(nullable OFString *) | - tryReadLine |
Tries to read a line from the stream (see readLine) and returns nil if no complete line has been received yet. | |
(nullable OFString *) | - tryReadLineWithEncoding: |
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. | |
(nullable OFString *) | - readUntilDelimiter: |
Reads until the specified string or \0 is found or the end of stream occurs. | |
(nullable OFString *) | - readUntilDelimiter:encoding: |
Reads until the specified string or \0 is found or the end of stream occurs. | |
(nullable OFString *) | - tryReadUntilDelimiter: |
Tries to reads until the specified string or \0 is found or the end of stream (see readUntilDelimiter:) and returns nil if not enough data has been received yet. | |
(nullable OFString *) | - tryReadUntilDelimiter:encoding: |
Tries to read until the specified string or \0 is found or the end of stream occurs (see readUntilDelimiter:encoding:) and returns nil if not enough data has been received yet. | |
(bool) | - flushWriteBuffer |
Writes everything in the write buffer to the stream. | |
(void) | - writeBuffer:length: |
Writes from a buffer into the stream. | |
(void) | - asyncWriteData: |
Asynchronously writes data into the stream. | |
(void) | - asyncWriteData:runLoopMode: |
Asynchronously writes data into the stream. | |
(void) | - asyncWriteString: |
Asynchronously writes a string in UTF-8 encoding into the stream. | |
(void) | - asyncWriteString:encoding: |
Asynchronously writes a string in the specified encoding into the stream. | |
(void) | - asyncWriteString:encoding:runLoopMode: |
Asynchronously writes a string in the specified encoding into the stream. | |
(void) | - asyncWriteData:block: |
Asynchronously writes data into the stream. | |
(void) | - asyncWriteData:handler: |
Asynchronously writes data into the stream. | |
(void) | - asyncWriteData:runLoopMode:block: |
Asynchronously writes data into the stream. | |
(void) | - asyncWriteData:runLoopMode:handler: |
Asynchronously writes data into the stream. | |
(void) | - asyncWriteString:block: |
Asynchronously writes a string into the stream. | |
(void) | - asyncWriteString:handler: |
Asynchronously writes a string into the stream. | |
(void) | - asyncWriteString:encoding:block: |
Asynchronously writes a string in the specified encoding into the stream. | |
(void) | - asyncWriteString:encoding:handler: |
Asynchronously writes a string in the specified encoding into the stream. | |
(void) | - asyncWriteString:encoding:runLoopMode:block: |
Asynchronously writes a string in the specified encoding into the stream. | |
(void) | - asyncWriteString:encoding:runLoopMode:handler: |
Asynchronously writes a string in the specified encoding into the stream. | |
(void) | - writeInt8: |
Writes a uint8_t into the stream. | |
(void) | - writeBigEndianInt16: |
Writes a uint16_t into the stream, encoded in big endian. | |
(void) | - writeBigEndianInt32: |
Writes a uint32_t into the stream, encoded in big endian. | |
(void) | - writeBigEndianInt64: |
Writes a uint64_t into the stream, encoded in big endian. | |
(void) | - writeBigEndianFloat: |
Writes a float into the stream, encoded in big endian. | |
(void) | - writeBigEndianDouble: |
Writes a double into the stream, encoded in big endian. | |
(void) | - writeLittleEndianInt16: |
Writes a uint16_t into the stream, encoded in little endian. | |
(void) | - writeLittleEndianInt32: |
Writes a uint32_t into the stream, encoded in little endian. | |
(void) | - writeLittleEndianInt64: |
Writes a uint64_t into the stream, encoded in little endian. | |
(void) | - writeLittleEndianFloat: |
Writes a float into the stream, encoded in little endian. | |
(void) | - writeLittleEndianDouble: |
Writes a double into the stream, encoded in little endian. | |
(void) | - writeData: |
Writes OFData into the stream. | |
(void) | - writeString: |
Writes a string into the stream, without the trailing zero. | |
(void) | - writeString:encoding: |
Writes a string into the stream in the specified encoding, without the trailing zero. | |
(void) | - writeLine: |
Writes a string into the stream with a trailing newline. | |
(void) | - writeLine:encoding: |
Writes a string into the stream in the specified encoding with a trailing newline. | |
(void) | - writeFormat: |
Writes a formatted string into the stream. | |
(void) | - writeFormat:arguments: |
Writes a formatted string into the stream. | |
(void) | - cancelAsyncRequests |
Cancels all pending asynchronous requests on the stream. | |
(void) | - unreadFromBuffer:length: |
"Reverses" a read operation, meaning the bytes from the specified buffer will be returned on the next read operation. | |
(void) | - close |
Closes the stream. | |
(size_t) | - lowlevelReadIntoBuffer:length: |
Performs a lowlevel read. | |
(size_t) | - lowlevelWriteBuffer:length: |
Performs a lowlevel write. | |
(bool) | - lowlevelIsAtEndOfStream |
Returns whether the lowlevel is at the end of the stream. | |
(bool) | - lowlevelHasDataInReadBuffer |
Returns whether the lowlevel has data in the read buffer. | |
Instance Methods inherited from OFObject | |
(instancetype) | - init |
Initializes an already allocated object. | |
(nullable OFMethodSignature *) | - methodSignatureForSelector: |
Returns the method signature for the specified selector. | |
(void) | - dealloc |
Deallocates the object. | |
(void) | - performSelector:afterDelay: |
Performs the specified selector after the specified delay. | |
(void) | - performSelector:withObject:afterDelay: |
Performs the specified selector with the specified object after the specified delay. | |
(void) | - performSelector:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. | |
(void) | - performSelector:withObject:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. | |
(void) | - performSelector:withObject:withObject:withObject:withObject:afterDelay: |
Performs the specified selector with the specified objects after the specified delay. | |
(void) | - performSelector:onThread:waitUntilDone: |
Performs the specified selector on the specified thread. | |
(void) | - performSelector:onThread:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified object. | |
(void) | - performSelector:onThread:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the specified thread with the specified objects. | |
(void) | - performSelectorOnMainThread:waitUntilDone: |
Performs the specified selector on the main thread. | |
(void) | - performSelectorOnMainThread:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified object. | |
(void) | - performSelectorOnMainThread:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. | |
(void) | - performSelectorOnMainThread:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. | |
(void) | - performSelectorOnMainThread:withObject:withObject:withObject:withObject:waitUntilDone: |
Performs the specified selector on the main thread with the specified objects. | |
(void) | - performSelector:onThread:afterDelay: |
Performs the specified selector on the specified thread after the specified delay. | |
(void) | - performSelector:onThread:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified object after the specified delay. | |
(void) | - performSelector:onThread:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
(void) | - performSelector:onThread:withObject:withObject:withObject:withObject:afterDelay: |
Performs the specified selector on the specified thread with the specified objects after the specified delay. | |
(nullable id) | - forwardingTargetForSelector: |
This method is called when resolveClassMethod: or resolveInstanceMethod: returned false. It should return a target to which the message should be forwarded. | |
(void) | - doesNotRecognizeSelector: |
Handles messages which are not understood by the receiver. | |
Instance Methods inherited from <OFObject> | |
(unsigned long) | - hash |
Returns a hash for the object. | |
(unsigned int) | - retainCount |
Returns the retain count. | |
(bool) | - isProxy |
Returns whether the object is a proxy object. | |
(bool) | - isKindOfClass: |
Returns a boolean whether the object is of the specified kind. | |
(bool) | - isMemberOfClass: |
Returns a boolean whether the object is a member of the specified class. | |
(bool) | - respondsToSelector: |
Returns a boolean whether the object responds to the specified selector. | |
(nullable IMP) | - methodForSelector: |
Returns the implementation for the specified selector. | |
(nullable id) | - performSelector: |
Performs the specified selector. | |
(nullable id) | - performSelector:withObject: |
Performs the specified selector with the specified object. | |
(nullable id) | - performSelector:withObject:withObject: |
Performs the specified selector with the specified objects. | |
(nullable id) | - performSelector:withObject:withObject:withObject: |
Performs the specified selector with the specified objects. | |
(nullable id) | - performSelector:withObject:withObject:withObject:withObject: |
Performs the specified selector with the specified objects. | |
(bool) | - isEqual: |
Checks two objects for equality. | |
(instancetype) | - retain |
Increases the retain count. | |
(void) | - release |
Decreases the retain count. | |
(instancetype) | - autorelease |
Adds the object to the topmost autorelease pool of the thread's autorelease pool stack. | |
(instancetype) | - self |
Returns the receiver. | |
(bool) | - allowsWeakReference |
Returns whether the object allows a weak reference. | |
(bool) | - retainWeakReference |
Retain a weak reference to this object. | |
Instance Methods inherited from <OFCopying> | |
(id) | - copy |
Copies the object. | |
Class Methods | |
(instancetype) | + streamWithStream:mode: |
Creates a new OFGZIPStream with the specified underlying stream. | |
Class Methods inherited from OFObject | |
(void) | + load |
A method which is called once when the class is loaded into the runtime. | |
(void) | + unload |
A method which is called when the class is unloaded from the runtime. | |
(void) | + initialize |
A method which is called the moment before the first call to the class is being made. | |
(instancetype) | + alloc |
Allocates memory for an instance of the class and sets up the memory pool for the object. | |
(Class) | + class |
Returns the class. | |
(OFString *) | + className |
Returns the name of the class as a string. | |
(bool) | + isSubclassOfClass: |
Returns a boolean whether the class is a subclass of the specified class. | |
(nullable Class) | + superclass |
Returns the superclass of the class. | |
(bool) | + instancesRespondToSelector: |
Checks whether instances of the class respond to a given selector. | |
(bool) | + conformsToProtocol: |
Checks whether the class conforms to a given protocol. | |
(nullable IMP) | + instanceMethodForSelector: |
Returns the implementation of the instance method for the specified selector. | |
(nullable OFMethodSignature *) | + instanceMethodSignatureForSelector: |
Returns the method signature of the instance method for the specified selector. | |
(OFString *) | + description |
Returns a description for the class, which is usually the class name. | |
(nullable IMP) | + replaceClassMethod:withMethodFromClass: |
Replaces a class method with a class method from another class. | |
(nullable IMP) | + replaceInstanceMethod:withMethodFromClass: |
Replaces an instance method with an instance method from another class. | |
(void) | + inheritMethodsFromClass: |
Adds all methods from the specified class to the class that is the receiver. | |
(bool) | + resolveClassMethod: |
Try to resolve the specified class method. | |
(bool) | + resolveInstanceMethod: |
Try to resolve the specified instance method. | |
(id) | + copy |
Returns the class. | |
Properties | |
OFGZIPStreamOperatingSystem | operatingSystemMadeOn |
The operating system on which the data was compressed. | |
OFDate * | modificationDate |
The modification date of the original file. | |
Properties inherited from OFStream | |
bool | atEndOfStream |
Whether the end of the stream has been reached. | |
bool | buffersWrites |
Whether writes are buffered. | |
bool | hasDataInReadBuffer |
Whether data is present in the internal read buffer. | |
bool | canBlock |
Whether the stream can block. | |
id< OFStreamDelegate > | delegate |
The delegate for asynchronous operations on the stream. | |
Properties inherited from OFObject | |
OFString * | className |
The name of the object's class. | |
OFString * | description |
A description for the object. | |
A class that handles GZIP compression and decompression transparently for an underlying stream.
Initializes an already allocated OFGZIPStream with the specified underlying stream.
stream | The underlying stream for the OFGZIPStream |
mode | The mode for the OFGZIPStream. Valid modes are "r" for reading and "w" for writing. |
Creates a new OFGZIPStream with the specified underlying stream.
stream | The underlying stream for the OFGZIPStream |
mode | The mode for the OFGZIPStream. Valid modes are "r" for reading and "w" for writing. |
|
readwriteatomic |
The modification date of the original file.
This property is only guaranteed to be available once atEndOfStream is true.
|
readnonatomicassign |
The operating system on which the data was compressed.
This property is only guaranteed to be available once atEndOfStream is true.