summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
Diffstat (limited to 'Swiften/Elements')
-rw-r--r--Swiften/Elements/DiscoItems.h65
1 files changed, 65 insertions, 0 deletions
diff --git a/Swiften/Elements/DiscoItems.h b/Swiften/Elements/DiscoItems.h
new file mode 100644
index 0000000..400947a
--- /dev/null
+++ b/Swiften/Elements/DiscoItems.h
@@ -0,0 +1,65 @@
+/*
+ * Copyright (c) 2010 Kevin Smith
+ * Licensed under the GNU General Public License v3.
+ * See Documentation/Licenses/GPLv3.txt for more information.
+ */
+
+#pragma once
+
+#include <vector>
+#include <algorithm>
+
+#include "Swiften/Elements/Payload.h"
+#include "Swiften/Base/String.h"
+#include "Swiften/JID/JID.h"
+
+namespace Swift {
+ class DiscoItems : public Payload {
+ public:
+ class Item {
+ public:
+ Item(const String& name, const JID& jid, const String& node="") : name_(name), jid_(jid), node_(node) {
+ }
+
+ const String& getName() const {
+ return name_;
+ }
+
+ const String& getNode() const {
+ return node_;
+ }
+
+ const JID& getJID() const {
+ return jid_;
+ }
+
+ private:
+ String name_;
+ JID jid_;
+ String node_;
+ };
+
+ DiscoItems() {
+ }
+
+ const String& getNode() const {
+ return node_;
+ }
+
+ void setNode(const String& node) {
+ node_ = node;
+ }
+
+ const std::vector<Item>& getItems() const {
+ return items_;
+ }
+
+ void addItem(const Item& item) {
+ items_.push_back(item);
+ }
+
+ private:
+ String node_;
+ std::vector<Item> items_;
+ };
+}