namespace ICSharpCode.SharpZipLib.Checksum
{
///
/// Interface to compute a data checksum used by checked input/output streams.
/// A data checksum can be updated by one byte or with a byte array. After each
/// update the value of the current checksum can be returned by calling
/// getValue
. The complete checksum object can also be reset
/// so it can be used again with new data.
///
public interface IChecksum
{
///
/// Resets the data checksum as if no update was ever called.
///
void Reset();
///
/// Returns the data checksum computed so far.
///
long Value {
get;
}
///
/// Adds one byte to the data checksum.
///
///
/// the data value to add. The high byte of the int is ignored.
///
void Update(int bval);
///
/// Updates the data checksum with the bytes taken from the array.
///
///
/// buffer an array of bytes
///
void Update(byte[] buffer);
///
/// Adds the byte array to the data checksum.
///
///
/// The buffer which contains the data
///
///
/// The offset in the buffer where the data starts
///
///
/// the number of data bytes to add.
///
void Update(byte[] buffer, int offset, int count);
}
}