[ Index ]

PHP Cross Reference of Unnamed Project

title

Body

[close]

/se3-unattended/var/se3/unattended/install/linuxaux/opt/perl/lib/5.10.0/i586-linux-thread-multi/IO/Compress/Adapter/ -> Deflate.pm (source)

   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  


Generated: Tue Mar 17 22:47:18 2015 Cross-referenced by PHPXref 0.7.1