00001
00002
00003
00004
00005 #ifndef ATLAS_FILTERS_BZIP2_H
00006 #define ATLAS_FILTERS_BZIP2_H
00007
00008 #include <Atlas/Filter.h>
00009
00010
00011
00012
00013 extern "C" {
00014 #include <bzlib.h>
00015 }
00016
00017 namespace Atlas { namespace Filters {
00018
00019 class Bzip2 : public Filter
00020 {
00021 bz_stream incoming;
00022 bz_stream outgoing;
00023 char buf[4096];
00024
00025 public:
00026
00027 virtual void begin();
00028 virtual void end();
00029
00030 virtual std::string encode(const std::string&);
00031 virtual std::string decode(const std::string&);
00032 };
00033
00034 } }
00035
00036 #endif // ATLAS_FILTERS_BZIP2_H