18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#import "OFStream.h"
#import "OFDate.h"
@class OFInflateStream;
OF_ASSUME_NONNULL_BEGIN
/*!
* @class OFGZIPStream OFGZIPStream.h ObjFW/OFGZIPStream.h
*
* @brief A class that handles GZIP compression and decompression transparently
* for an underlying stream.
*/
OF_SUBCLASSING_RESTRICTED
@interface OFGZIPStream: OFStream
|
|
|
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
|
#import "OFStream.h"
#import "OFDate.h"
@class OFInflateStream;
OF_ASSUME_NONNULL_BEGIN
/**
* @class OFGZIPStream OFGZIPStream.h ObjFW/OFGZIPStream.h
*
* @brief A class that handles GZIP compression and decompression transparently
* for an underlying stream.
*/
OF_SUBCLASSING_RESTRICTED
@interface OFGZIPStream: OFStream
|
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
|
size_t _bytesRead;
uint8_t _buffer[4];
OFDate *_Nullable _modificationDate;
uint16_t _extraLength;
uint32_t _CRC32, _uncompressedSize;
}
/*!
* @brief The operating system on which the data was compressed.
*
* This property is only guaranteed to be available once @ref atEndOfStream is
* true.
*/
@property (readonly, nonatomic)
enum of_gzip_stream_operating_system operatingSystemMadeOn;
/*!
* @brief The modification date of the original file.
*
* This property is only guaranteed to be available once @ref atEndOfStream is
* true.
*/
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFDate *modificationDate;
/*!
* @brief Creates a new OFGZIPStream with the specified underlying stream.
*
* @param stream The underlying stream for the OFGZIPStream
* @param mode The mode for the OFGZIPStream. Valid modes are "r" for reading
* and "w" for writing.
* @return A new, autoreleased OFGZIPStream
*/
+ (instancetype)streamWithStream: (OFStream *)stream
mode: (OFString *)mode;
- (instancetype)init OF_UNAVAILABLE;
/*!
* @brief Initializes an already allocated OFGZIPStream with the specified
* underlying stream.
*
* @param stream The underlying stream for the OFGZIPStream
* @param mode The mode for the OFGZIPStream. Valid modes are "r" for reading
* and "w" for writing.
* @return An initialized OFGZIPStream
*/
- (instancetype)initWithStream: (OFStream *)stream
mode: (OFString *)mode OF_DESIGNATED_INITIALIZER;
@end
OF_ASSUME_NONNULL_END
|
|
|
|
|
|
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
|
size_t _bytesRead;
uint8_t _buffer[4];
OFDate *_Nullable _modificationDate;
uint16_t _extraLength;
uint32_t _CRC32, _uncompressedSize;
}
/**
* @brief The operating system on which the data was compressed.
*
* This property is only guaranteed to be available once @ref atEndOfStream is
* true.
*/
@property (readonly, nonatomic)
enum of_gzip_stream_operating_system operatingSystemMadeOn;
/**
* @brief The modification date of the original file.
*
* This property is only guaranteed to be available once @ref atEndOfStream is
* true.
*/
@property OF_NULLABLE_PROPERTY (readonly, nonatomic) OFDate *modificationDate;
/**
* @brief Creates a new OFGZIPStream with the specified underlying stream.
*
* @param stream The underlying stream for the OFGZIPStream
* @param mode The mode for the OFGZIPStream. Valid modes are "r" for reading
* and "w" for writing.
* @return A new, autoreleased OFGZIPStream
*/
+ (instancetype)streamWithStream: (OFStream *)stream
mode: (OFString *)mode;
- (instancetype)init OF_UNAVAILABLE;
/**
* @brief Initializes an already allocated OFGZIPStream with the specified
* underlying stream.
*
* @param stream The underlying stream for the OFGZIPStream
* @param mode The mode for the OFGZIPStream. Valid modes are "r" for reading
* and "w" for writing.
* @return An initialized OFGZIPStream
*/
- (instancetype)initWithStream: (OFStream *)stream
mode: (OFString *)mode OF_DESIGNATED_INITIALIZER;
@end
OF_ASSUME_NONNULL_END
|