diff options
Diffstat (limited to 'Swiften/Elements/HashElement.h')
-rw-r--r-- | Swiften/Elements/HashElement.h | 42 |
1 files changed, 42 insertions, 0 deletions
diff --git a/Swiften/Elements/HashElement.h b/Swiften/Elements/HashElement.h new file mode 100644 index 0000000..44d2f96 --- /dev/null +++ b/Swiften/Elements/HashElement.h @@ -0,0 +1,42 @@ +/* + * Copyright (c) 2014 Isode Limited. + * All rights reserved. + * See the COPYING file for more information. + */ + +#pragma once + +#include <Swiften/Base/ByteArray.h> + +namespace Swift { + /* + * @brief This class represents a XEP-0300 <hash/> element. + */ + class HashElement { + public: + HashElement(const std::string& algorithm, const ByteArray& hash) : algorithm_(algorithm), hash_(hash) { + } + + void setHashValue(const std::string& algorithm, const ByteArray& hash) { + algorithm_ = algorithm; + hash_ = hash; + } + + const std::string& getAlgorithm() const { + return algorithm_; + } + + const ByteArray& getHashValue() const { + return hash_; + } + + bool operator==(const HashElement& rhs) const { + return (algorithm_ == rhs.algorithm_) && (hash_ == rhs.hash_); + } + + + private: + std::string algorithm_; + ByteArray hash_; + }; +} |