ARC SDK
|
Wrapper for CheckSum class. More...
#include <arc/CheckSum.h>
Public Types | |
enum | type { none, unknown, undefined, cksum, md5, adler32 } |
Type of checksum. More... | |
Public Member Functions | |
CheckSumAny (CheckSum *c=NULL) | |
Construct a new CheckSumAny from the given CheckSum. More... | |
CheckSumAny (type type) | |
Construct a new CheckSumAny using the given checksum type. More... | |
CheckSumAny (const char *type) | |
Construct a new CheckSumAny using the given checksum type represented as a string. More... | |
virtual void | start (void) |
Initiate the checksum algorithm. More... | |
virtual void | add (void *buf, unsigned long long int len) |
Add data to be checksummed. More... | |
virtual void | end (void) |
Finalize the checksumming. More... | |
virtual void | result (unsigned char *&res, unsigned int &len) const |
Retrieve result of checksum as binary blob. More... | |
virtual int | print (char *buf, int len) const |
Retrieve result of checksum into a string. More... | |
virtual void | scan (const char *buf) |
Set internal checksum state. More... | |
virtual | operator bool (void) const |
Indicates whether the checksum has been calculated. More... | |
virtual bool | operator! (void) const |
Indicates whether the checksum has not been calculated. More... | |
bool | active (void) |
type | Type (void) const |
void | operator= (const char *type) |
bool | operator== (const char *s) |
bool | operator== (const CheckSumAny &ck) |
![]() | |
CheckSum (void) | |
Default constructor. More... | |
Static Public Member Functions | |
static type | Type (const char *crc) |
static std::string | FileChecksum (const std::string &filepath, type tp=md5, bool decimalbase=false) |
Get checksum of a file. More... | |
Wrapper for CheckSum class.
To be used for manipulation of any supported checksum type in a transparent way.
|
inline |
Construct a new CheckSumAny from the given CheckSum.
Arc::CheckSumAny::CheckSumAny | ( | type | type | ) |
Construct a new CheckSumAny using the given checksum type.
Arc::CheckSumAny::CheckSumAny | ( | const char * | type | ) |
Construct a new CheckSumAny using the given checksum type represented as a string.
|
inlinevirtual |
Add data to be checksummed.
This method calculates the checksum of the passed data chunk, taking into account the previous state of this object.
buf | pointer to data chuck to be checksummed. |
len | size of the data chuck. |
Implements Arc::CheckSum.
|
inlinevirtual |
Finalize the checksumming.
This method finalizes the checksum algorithm, that is calculating the final checksum result.
Implements Arc::CheckSum.
|
static |
Get checksum of a file.
This method provides an easy way to get the checksum of a file, by only specifying the path to the file. Optionally the checksum type can be specified, if not the MD5 algorithm will be used.
filepath | path to file of which checksum should be calculated |
tp | type of checksum algorithm to use, default is md5. |
decimalbase | specifies whether output should be in base 10 or 16 |
|
inlinevirtual |
Indicates whether the checksum has been calculated.
Reimplemented from Arc::CheckSum.
|
inlinevirtual |
Indicates whether the checksum has not been calculated.
Reimplemented from Arc::CheckSum.
|
inlinevirtual |
Retrieve result of checksum into a string.
The passed string buf is filled with result of checksum algorithm in base 16. At most len characters are filled into buffer buf. The hexadecimal value is prepended with "algorithm:", where algorithm is one of "cksum", "md5" or "adler32" respectively corresponding to the result from the CRC32Sum, MD5Sum and Adler32 classes.
buf | pointer to buffer which should be filled with checksum result. |
len | max number of character filled into buffer. |
Reimplemented from Arc::CheckSum.
|
inlinevirtual |
Retrieve result of checksum as binary blob.
Implements Arc::CheckSum.
|
inlinevirtual |
Set internal checksum state.
This method sets the internal state to that of the passed textual representation. The format passed to this method must be the same as retrieved from the CheckSum::print method.
buf | string containing textual representation of checksum |
Implements Arc::CheckSum.
|
inlinevirtual |
Initiate the checksum algorithm.
This method must be called before starting a new checksum calculation.
Implements Arc::CheckSum.