1 package IO::Compress::Adapter::Bzip2 ;
7 use IO::Compress::Base::Common 2.074 qw(:Status);
9 use Compress::Raw::Bzip2 2.074 ;
16 my $BlockSize100K = shift ;
17 my $WorkFactor = shift ;
18 my $Verbosity = shift ;
20 $BlockSize100K = 1 if ! defined $BlockSize100K ;
21 $WorkFactor = 0 if ! defined $WorkFactor ;
22 $Verbosity = 0 if ! defined $Verbosity ;
24 my ($def, $status) = new Compress::Raw::Bzip2(1, $BlockSize100K,
25 $WorkFactor, $Verbosity);
27 return (undef, "Could not create Deflate object: $status", $status)
30 return bless {'Def' => $def,
40 my $def = $self->{Def};
42 my $status = $def->bzdeflate($_[0], $_[1]) ;
43 $self->{ErrorNo} = $status;
45 if ($status != BZ_RUN_OK)
47 $self->{Error} = "Deflate Error: $status";
58 my $def = $self->{Def};
60 my $status = $def->bzflush($_[0]);
61 $self->{ErrorNo} = $status;
63 if ($status != BZ_RUN_OK)
65 $self->{Error} = "Deflate Error: $status";
77 my $def = $self->{Def};
79 my $status = $def->bzclose($_[0]);
80 $self->{ErrorNo} = $status;
82 if ($status != BZ_STREAM_END)
84 $self->{Error} = "Deflate Error: $status";
97 my $outer = $self->{Outer};
99 my ($def, $status) = new Compress::Raw::Bzip2();
100 $self->{ErrorNo} = ($status == BZ_OK) ? 0 : $status ;
102 if ($status != BZ_OK)
104 $self->{Error} = "Cannot create Deflate object: $status";
116 $self->{Def}->compressedBytes();
119 sub uncompressedBytes
122 $self->{Def}->uncompressedBytes();
135 # $self->{Def}->total_in();
141 # $self->{Def}->crc32();
147 # $self->{Def}->adler32();