summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Elements/HashElement.h')
-rw-r--r--Swiften/Elements/HashElement.h42
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_;
+ };
+}