This is a live mirror of the Perl 5 development currently hosted at https://github.com/perl/perl5
PATCH: 2 vms specific build files in perl @ 27383
[perl5.git] / ext / Compress / Zlib / lib / CompressPlugin / Identity.pm
1 package CompressPlugin::Identity ;
2
3 use strict;
4 use warnings;
5
6 use Compress::Zlib::Common qw(:Status);
7 use Compress::Zlib () ;
8 our ($VERSION);
9
10 $VERSION = '2.000_05';
11
12 sub mkCompObject
13 {
14     my $crc32    = shift ;
15     my $adler32  = shift ;
16     my $level    = shift ;
17     my $strategy = shift ;
18
19     return bless {
20                   'CompSize'   => 0,
21                   'UnCompSize' => 0,
22                   'Error'      => '',
23                   'ErrorNo'    => 0,
24                   'wantCRC32'  => $crc32,
25                   'CRC32'      => Compress::Zlib::crc32(''),
26                   'wantADLER32'=> $adler32,
27                   'ADLER32'    => Compress::Zlib::adler32(''),                  
28                  } ;     
29 }
30
31 sub compr
32 {
33     my $self = shift ;
34
35     if (defined ${ $_[0] } && length ${ $_[0] }) {
36         $self->{CompSize} += length ${ $_[0] } ;
37         $self->{UnCompSize} = $self->{CompSize} ;
38
39         $self->{CRC32} = Compress::Zlib::crc32($_[0],  $self->{CRC32})
40             if $self->{wantCRC32};
41
42         $self->{ADLER32} = Compress::Zlib::adler32($_[0],  $self->{ADLER32})
43             if $self->{wantADLER32};
44
45         ${ $_[1] } .= ${ $_[0] };
46     }
47
48     return STATUS_OK ;
49 }
50
51 sub flush
52 {
53     my $self = shift ;
54
55     return STATUS_OK;    
56 }
57
58 sub close
59 {
60     my $self = shift ;
61
62     return STATUS_OK;    
63 }
64
65 sub reset
66 {
67     my $self = shift ;
68
69     return STATUS_OK;    
70 }
71
72 sub deflateParams 
73 {
74     my $self = shift ;
75
76     return STATUS_OK;   
77 }
78
79 sub total_out
80 {
81     my $self = shift ;
82     return $self->{UnCompSize} ;
83 }
84
85 sub total_in
86 {
87     my $self = shift ;
88     return $self->{UnCompSize} ;
89 }
90
91 sub compressedBytes
92 {
93     my $self = shift ;
94     return $self->{UnCompSize} ;
95 }
96
97 sub uncompressedBytes
98 {
99     my $self = shift ;
100     return $self->{UnCompSize} ;
101 }
102
103 sub crc32
104 {
105     my $self = shift ;
106     return $self->{CRC32};
107 }
108
109 sub adler32
110 {
111     my $self = shift ;
112     return $self->{ADLER32};
113 }
114
115
116
117 1;
118
119
120 __END__
121