00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _DECAF_UTIL_ZIP_ADLER32_H_
00019 #define _DECAF_UTIL_ZIP_ADLER32_H_
00020
00021 #include <decaf/util/Config.h>
00022 #include <decaf/util/zip/Checksum.h>
00023
00024 namespace decaf {
00025 namespace util {
00026 namespace zip {
00027
00034 class DECAF_API Adler32 : public Checksum {
00035 private:
00036
00037 long long value;
00038
00039 public:
00040
00041 Adler32();
00042
00043 virtual ~Adler32();
00044
00048 virtual long long getValue() const;
00049
00053 virtual void reset();
00054
00061 virtual void update( const std::vector<unsigned char>& buffer );
00062
00075 virtual void update( const std::vector<unsigned char>& buffer, int offset, int length );
00076
00092 virtual void update( const unsigned char* buffer, int size, int offset, int length );
00093
00100 virtual void update( int byte );
00101
00102 };
00103
00104 }}}
00105
00106 #endif