1 package IO::Compress::Adapter::Bzip2 ;
7 use IO::Compress::Base::Common 2.023 qw(:Status);
10 use Compress::Raw::Bzip2 2.023 ;
17 my $BlockSize100K = shift ;
18 my $WorkFactor = shift ;
19 my $Verbosity = shift ;
21 my ($def, $status) = new Compress::Raw::Bzip2(1, $BlockSize100K,
22 $WorkFactor, $Verbosity);
23 #my ($def, $status) = bzdeflateInit();
24 #-BlockSize100K => $params->value('BlockSize100K'),
25 #-WorkFactor => $params->value('WorkFactor');
27 return (undef, "Could not create Deflate object: $status", $status)
30 return bless {'Def' => $def,
40 my $def = $self->{Def};
42 #my ($out, $status) = $def->bzdeflate(defined ${$_[0]} ? ${$_[0]} : "") ;
43 my $status = $def->bzdeflate($_[0], $_[1]) ;
44 $self->{ErrorNo} = $status;
46 if ($status != BZ_RUN_OK)
48 $self->{Error} = "Deflate Error: $status";
52 #${ $_[1] } .= $out if defined $out;
61 my $def = $self->{Def};
63 #my ($out, $status) = $def->bzflush($opt);
64 #my $status = $def->bzflush($_[0], $opt);
65 my $status = $def->bzflush($_[0]);
66 $self->{ErrorNo} = $status;
68 if ($status != BZ_RUN_OK)
70 $self->{Error} = "Deflate Error: $status";
74 #${ $_[0] } .= $out if defined $out ;
83 my $def = $self->{Def};
85 #my ($out, $status) = $def->bzclose();
86 my $status = $def->bzclose($_[0]);
87 $self->{ErrorNo} = $status;
89 if ($status != BZ_STREAM_END)
91 $self->{Error} = "Deflate Error: $status";
95 #${ $_[0] } .= $out if defined $out ;
105 my $outer = $self->{Outer};
107 my ($def, $status) = new Compress::Raw::Bzip2();
108 $self->{ErrorNo} = ($status == BZ_OK) ? 0 : $status ;
110 if ($status != BZ_OK)
112 $self->{Error} = "Cannot create Deflate object: $status";
124 $self->{Def}->compressedBytes();
127 sub uncompressedBytes
130 $self->{Def}->uncompressedBytes();
143 # $self->{Def}->total_in();
149 # $self->{Def}->crc32();
155 # $self->{Def}->adler32();