[ Index ] |
PHP Cross Reference of Unnamed Project |
[Summary view] [Print] [Text view]
1 package IO::Compress::Adapter::Deflate ; 2 3 use strict; 4 use warnings; 5 use bytes; 6 7 use IO::Compress::Base::Common 2.008 qw(:Status); 8 9 use Compress::Raw::Zlib 2.008 qw(Z_OK Z_FINISH MAX_WBITS) ; 10 our ($VERSION); 11 12 $VERSION = '2.008'; 13 14 sub mkCompObject 15 { 16 my $crc32 = shift ; 17 my $adler32 = shift ; 18 my $level = shift ; 19 my $strategy = shift ; 20 21 my ($def, $status) = new Compress::Raw::Zlib::Deflate 22 -AppendOutput => 1, 23 -CRC32 => $crc32, 24 -ADLER32 => $adler32, 25 -Level => $level, 26 -Strategy => $strategy, 27 -WindowBits => - MAX_WBITS; 28 29 return (undef, "Cannot create Deflate object: $status", $status) 30 if $status != Z_OK; 31 32 return bless {'Def' => $def, 33 'Error' => '', 34 } ; 35 } 36 37 sub compr 38 { 39 my $self = shift ; 40 41 my $def = $self->{Def}; 42 43 my $status = $def->deflate($_[0], $_[1]) ; 44 $self->{ErrorNo} = $status; 45 46 if ($status != Z_OK) 47 { 48 $self->{Error} = "Deflate Error: $status"; 49 return STATUS_ERROR; 50 } 51 52 return STATUS_OK; 53 } 54 55 sub flush 56 { 57 my $self = shift ; 58 59 my $def = $self->{Def}; 60 61 my $opt = $_[1] || Z_FINISH; 62 my $status = $def->flush($_[0], $opt); 63 $self->{ErrorNo} = $status; 64 65 if ($status != Z_OK) 66 { 67 $self->{Error} = "Deflate Error: $status"; 68 return STATUS_ERROR; 69 } 70 71 return STATUS_OK; 72 73 } 74 75 sub close 76 { 77 my $self = shift ; 78 79 my $def = $self->{Def}; 80 81 $def->flush($_[0], Z_FINISH) 82 if defined $def ; 83 } 84 85 sub reset 86 { 87 my $self = shift ; 88 89 my $def = $self->{Def}; 90 91 my $status = $def->deflateReset() ; 92 $self->{ErrorNo} = $status; 93 if ($status != Z_OK) 94 { 95 $self->{Error} = "Deflate Error: $status"; 96 return STATUS_ERROR; 97 } 98 99 return STATUS_OK; 100 } 101 102 sub deflateParams 103 { 104 my $self = shift ; 105 106 my $def = $self->{Def}; 107 108 my $status = $def->deflateParams(@_); 109 $self->{ErrorNo} = $status; 110 if ($status != Z_OK) 111 { 112 $self->{Error} = "deflateParams Error: $status"; 113 return STATUS_ERROR; 114 } 115 116 return STATUS_OK; 117 } 118 119 120 121 #sub total_out 122 #{ 123 # my $self = shift ; 124 # $self->{Def}->total_out(); 125 #} 126 # 127 #sub total_in 128 #{ 129 # my $self = shift ; 130 # $self->{Def}->total_in(); 131 #} 132 133 sub compressedBytes 134 { 135 my $self = shift ; 136 137 $self->{Def}->compressedBytes(); 138 } 139 140 sub uncompressedBytes 141 { 142 my $self = shift ; 143 $self->{Def}->uncompressedBytes(); 144 } 145 146 147 148 149 sub crc32 150 { 151 my $self = shift ; 152 $self->{Def}->crc32(); 153 } 154 155 sub adler32 156 { 157 my $self = shift ; 158 $self->{Def}->adler32(); 159 } 160 161 162 1; 163 164 __END__ 165
title
Description
Body
title
Description
Body
title
Description
Body
title
Body
Generated: Tue Mar 17 22:47:18 2015 | Cross-referenced by PHPXref 0.7.1 |