00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #ifndef _DECAF_UTIL_ZIP_CRC32_H_
00019 #define _DECAF_UTIL_ZIP_CRC32_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
00033 class DECAF_API CRC32 : public Checksum {
00034 private:
00035
00036 long long value;
00037
00038 public:
00039
00040 CRC32();
00041
00042 virtual ~CRC32();
00043
00047 virtual long long getValue() const;
00048
00052 virtual void reset();
00053
00060 virtual void update( const std::vector<unsigned char>& buffer );
00061
00074 virtual void update( const std::vector<unsigned char>& buffer, int offset, int length );
00075
00091 virtual void update( const unsigned char* buffer, int size, int offset, int length );
00092
00099 virtual void update( int byte );
00100
00101 };
00102
00103 }}}
00104
00105 #endif