Update POD for bro to include configurables
[io-compress-brotli.git] / lib / IO / Compress / Brotli.pm
index 9117f704d3a571aa8cfd238d0435b8843fb17ccb..f1b76e219a29dd6dcfa03360a68959caa8c7af33 100644 (file)
@@ -3,36 +3,14 @@ package IO::Compress::Brotli;
 use 5.014000;
 use strict;
 use warnings;
+use parent qw/Exporter/;
 
 use IO::Uncompress::Brotli;
 
-use parent qw/Exporter/;
-
 our @EXPORT = qw/bro/;
 our @EXPORT_OK = @EXPORT;
 
-our $VERSION = '0.001001';
-
-sub create {
-       my ($class) = @_;
-       my $state = BrotliEncoderCreateInstance();
-       bless \$state, $class
-}
-
-sub DESTROY {
-       my ($self) = @_;
-       BrotliEncoderDestroyInstance($$self)
-}
-
-sub quality {
-    my ($self, $quality) = @_;
-    BrotliEncoderSetQuality($$self, $quality)
-}
-
-sub window {
-    my ($self, $window) = @_;
-    BrotliEncoderSetWindow($$self, $window)
-}
+our $VERSION = '0.004001';
 
 my %BROTLI_ENCODER_MODE = ( generic => 0, text => 1, font => 2 );
 sub mode {
@@ -41,34 +19,9 @@ sub mode {
     die "Invalid encoder mode"
         unless $BROTLI_ENCODER_MODE{$mode};
 
-    BrotliEncoderSetMode($$self, $mode)
+    _mode($$self, $mode)
 }
 
-use constant {
-    BROTLI_OPERATION_PROCESS => 0,
-    BROTLI_OPERATION_FLUSH   => 1,
-    BROTLI_OPERATION_FINISH  => 2
-};
-sub compress {
-       my ($self, $data) = @_;
-       BrotliEncoderCompressStream($$self, $data, BROTLI_OPERATION_PROCESS )
-}
-
-sub flush {
-       my ($self) = @_;
-       BrotliEncoderCompressStream($$self, '', BROTLI_OPERATION_FLUSH )
-}
-
-sub finish {
-       my ($self) = @_;
-       BrotliEncoderCompressStream($$self, '', BROTLI_OPERATION_FINISH )
-}
-
-# Untested, probably not working
-sub set_dictionary {
-       my ($self, $dict) = @_;
-       BrotliEncoderSetCustomDictionary($$self, $dict)
-}
 
 1;
 __END__
@@ -77,7 +30,7 @@ __END__
 
 =head1 NAME
 
-IO::Compress::Brotli - [Not yet implemented] Write Brotli buffers/streams
+IO::Compress::Brotli - Write Brotli buffers/streams
 
 =head1 SYNOPSIS
 
@@ -110,10 +63,12 @@ function.
 
 =over
 
-=item B<bro>(I<$input>)
+=item B<bro>(I<$input>, I<$quality>, I<$window>)
 
 Takes a whole uncompressed buffer as input and returns the compressed
-data.
+data using the supplied quality and window parameters. If quality and
+window parameters are not supplied, default values are used (as
+described under the object-oriented interface).
 
 Exported by default.
 
@@ -179,9 +134,24 @@ Brotli source code: L<https://github.com/google/brotli/>
 
 Marius Gavrilescu, E<lt>marius@ieval.roE<gt>
 
+The encoder bindings, modernisation of the decoder bindings and a
+clean up of the overall project were contributed by:
+
+=over
+
+=item Quim Rovira, E<lt>quim@rovira.catE<gt>
+
+=item Ævar Arnfjörð Bjarmason, E<lt>avarab@gmail.comE<gt>
+
+=item Marcell Szathmári
+
+=item Mattia Barbon, E<lt>mattia@barbon.orgE<gt>
+
+=back
+
 =head1 COPYRIGHT AND LICENSE
 
-Copyright (C) 2015 by Marius Gavrilescu
+Copyright (C) 2015-2018 by Marius Gavrilescu
 
 This library is free software; you can redistribute it and/or modify
 it under the same terms as Perl itself, either Perl version 5.20.2 or,
This page took 0.011603 seconds and 4 git commands to generate.