/
_a_s_i_data_decompressor_8h_source.html
137 lines (119 loc) · 6.92 KB
/
_a_s_i_data_decompressor_8h_source.html
1
2
3
4
5
6
7
8
9
10
11
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
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<title>Nimbus: /Users/featherless/workbench/ios/nimbus/src/ASIHTTPRequest/src/ASIDataDecompressor.h Source File</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
$(document).ready(initResizable);
</script>
<link href="stylesheet.css" rel="stylesheet" type="text/css" />
<script type="text/javascript">
var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-24278774-1']);
_gaq.push(['_trackPageview']);
(function() {
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
</head>
<body>
<div id="page">
<div style="position:relative">
<div id="top"><!-- do not remove this div! -->
<div id="titlearea">
<a style="float: right;margin-right:20px;margin-top:20px" href='http://www.pledgie.com/campaigns/15519'><img alt='Click here to support Nimbus development and make a donation at www.pledgie.com !' src='http://www.pledgie.com/campaigns/15519.png?skin_name=chrome' border='0' /></a>
<table cellspacing="0" cellpadding="0">
<tbody>
<tr style="height: 56px;">
<td style="padding-left: 0.5em;">
<div id="projectname">Nimbus
 <span id="projectnumber">0.6.1 - <a href="http://github.com/jverkoey/nimbus">Nimbus is proudly hosted on Github</a></span>
</div>
<div id="projectbrief">An iOS framework whose growth is bounded by O(documentation).</div>
</td>
</tr>
</tbody>
</table>
</div>
<!-- Generated by Doxygen 1.7.4-20110629 -->
</div>
<div id="side-nav" class="ui-resizable side-nav-resizable">
<div id="nav-tree">
<div id="nav-tree-contents">
</div>
</div>
<div id="splitbar" style="-moz-user-select:none;"
class="ui-resizable-handle">
</div>
</div>
<script type="text/javascript">
initNavTree('_a_s_i_data_decompressor_8h.html','');
</script>
<div id="doc-content">
<div class="header">
<div class="headertitle">
<div class="title">/Users/featherless/workbench/ios/nimbus/src/ASIHTTPRequest/src/ASIDataDecompressor.h</div> </div>
</div>
<div class="contents">
<div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="comment">//</span>
<a name="l00002"></a>00002 <span class="comment">// ASIDataDecompressor.h</span>
<a name="l00003"></a>00003 <span class="comment">// Part of ASIHTTPRequest -> http://allseeing-i.com/ASIHTTPRequest</span>
<a name="l00004"></a>00004 <span class="comment">//</span>
<a name="l00005"></a>00005 <span class="comment">// Created by Ben Copsey on 17/08/2010.</span>
<a name="l00006"></a>00006 <span class="comment">// Copyright 2010 All-Seeing Interactive. All rights reserved.</span>
<a name="l00007"></a>00007 <span class="comment">//</span>
<a name="l00008"></a>00008
<a name="l00009"></a>00009 <span class="comment">// This is a helper class used by ASIHTTPRequest to handle inflating (decompressing) data in memory and on disk</span>
<a name="l00010"></a>00010 <span class="comment">// You may also find it helpful if you need to inflate data and files yourself - see the class methods below</span>
<a name="l00011"></a>00011 <span class="comment">// Most of the zlib stuff is based on the sample code by Mark Adler available at http://zlib.net</span>
<a name="l00012"></a>00012
<a name="l00013"></a>00013 <span class="preprocessor">#import <Foundation/Foundation.h></span>
<a name="l00014"></a>00014 <span class="preprocessor">#import <zlib.h></span>
<a name="l00015"></a>00015
<a name="l00016"></a>00016 <span class="keyword">@interface </span>ASIDataDecompressor : NSObject {
<a name="l00017"></a>00017 BOOL streamReady;
<a name="l00018"></a>00018 z_stream zStream;
<a name="l00019"></a>00019 }
<a name="l00020"></a>00020
<a name="l00021"></a>00021 <span class="comment">// Convenience constructor will call setupStream for you</span>
<a name="l00022"></a>00022 + (id)decompressor;
<a name="l00023"></a>00023
<a name="l00024"></a>00024 <span class="comment">// Uncompress the passed chunk of data</span>
<a name="l00025"></a>00025 - (<a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a> *)uncompressBytes:(Bytef *)bytes length:(NSUInteger)length error:(NSError **)err;
<a name="l00026"></a>00026
<a name="l00027"></a>00027 <span class="comment">// Convenience method - pass it some deflated data, and you'll get inflated data back</span>
<a name="l00028"></a>00028 + (<a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a> *)uncompressData:(<a class="code" href="class_n_s_data.html" title="For hashing raw data.">NSData</a>*)compressedData error:(NSError **)err;
<a name="l00029"></a>00029
<a name="l00030"></a>00030 <span class="comment">// Convenience method - pass it a file containing deflated data in sourcePath, and it will write inflated data to destinationPath</span>
<a name="l00031"></a>00031 + (BOOL)uncompressDataFromFile:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)sourcePath toFile:(<a class="code" href="class_n_s_string.html" title="For manipulating NSStrings.">NSString</a> *)destinationPath error:(NSError **)err;
<a name="l00032"></a>00032
<a name="l00033"></a>00033 <span class="comment">// Sets up zlib to handle the inflating. You only need to call this yourself if you aren't using the convenience constructor 'decompressor'</span>
<a name="l00034"></a>00034 - (NSError *)setupStream;
<a name="l00035"></a>00035
<a name="l00036"></a>00036 <span class="comment">// Tells zlib to clean up. You need to call this if you need to cancel inflating part way through</span>
<a name="l00037"></a>00037 <span class="comment">// If inflating finishes or fails, this method will be called automatically</span>
<a name="l00038"></a>00038 - (NSError *)closeStream;
<a name="l00039"></a>00039
<a name="l00040"></a>00040 <span class="keyword">@property</span> (assign, readonly) BOOL streamReady;
<a name="l00041"></a>00041 <span class="keyword">@end</span>
</pre></div></div>
</div>
<div id="nav-path" class="navpath">
<ul>
<li class="navelem"><b>ASIDataDecompressor.h</b> </li>
</div><!-- .fixedwidth -->
<span class="footer">Generated for Nimbus by
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4-20110629 </span>
</ul>
</div>
</div> <!-- page -->
</body>
</html>