summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorTobias Markmann <tm@ayena.de>2011-11-11 15:01:32 (GMT)
committerKevin Smith <git@kismith.co.uk>2011-11-28 16:44:22 (GMT)
commit86aad702d1f2e831c8e27bbe4ca1402626e4c542 (patch)
tree3be5a8ed23aef3877c9b313d0ee0f58afb54f57a /Swiften/Elements
parent81a7776d5ab523894a7c4745baee3988ad9f1ef9 (diff)
downloadswift-86aad702d1f2e831c8e27bbe4ca1402626e4c542.zip
swift-86aad702d1f2e831c8e27bbe4ca1402626e4c542.tar.bz2
Message Receipts (XEP-0184) support for 1-to-1 conversations (including 1-to-1 MUC).
Warn icon from already existing theme. Check icon from Wikipedia. See Swift/resources/icons/license_info.txt for details. License: This patch is BSD-licensed, see http://www.opensource.org/licenses/bsd-license.php
Diffstat (limited to 'Swiften/Elements')
-rw-r--r--Swiften/Elements/DeliveryReceipt.h34
-rw-r--r--Swiften/Elements/DeliveryReceiptRequest.h21
-rw-r--r--Swiften/Elements/DiscoInfo.cpp2
-rw-r--r--Swiften/Elements/DiscoInfo.h1
4 files changed, 57 insertions, 1 deletions
diff --git a/Swiften/Elements/DeliveryReceipt.h b/Swiften/Elements/DeliveryReceipt.h
new file mode 100644
index 0000000..927da73
--- /dev/null
+++ b/Swiften/Elements/DeliveryReceipt.h
@@ -0,0 +1,34 @@
+/*
+ * Copyright (c) 2011 Tobias Markmann
+ * Licensed under the BSD license.
+ * See http://www.opensource.org/licenses/bsd-license.php for more information.
+ */
+
+#pragma once
+
+#include <Swiften/Elements/Payload.h>
+
+namespace Swift {
+
+class DeliveryReceipt : public Payload {
+ public:
+ typedef boost::shared_ptr<DeliveryReceipt> ref;
+
+ public:
+ DeliveryReceipt() {}
+
+ DeliveryReceipt(const std::string& msgId) : receivedID_(msgId) {}
+
+ void setReceivedID(const std::string& msgId) {
+ receivedID_ = msgId;
+ }
+
+ std::string getReceivedID() const {
+ return receivedID_;
+ }
+
+ private:
+ std::string receivedID_;
+};
+
+}
diff --git a/Swiften/Elements/DeliveryReceiptRequest.h b/Swiften/Elements/DeliveryReceiptRequest.h
new file mode 100644
index 0000000..3998785
--- /dev/null
+++ b/Swiften/Elements/DeliveryReceiptRequest.h
@@ -0,0 +1,21 @@
+/*
+ * Copyright (c) 2011 Tobias Markmann
+ * Licensed under the BSD license.
+ * See http://www.opensource.org/licenses/bsd-license.php for more information.
+ */
+
+#pragma once
+
+#include <Swiften/Elements/Payload.h>
+
+namespace Swift {
+
+class DeliveryReceiptRequest : public Payload {
+ public:
+ typedef boost::shared_ptr<DeliveryReceiptRequest> ref;
+
+ public:
+ DeliveryReceiptRequest() {}
+};
+
+}
diff --git a/Swiften/Elements/DiscoInfo.cpp b/Swiften/Elements/DiscoInfo.cpp
index 35d4d04..a4ce079 100644
--- a/Swiften/Elements/DiscoInfo.cpp
+++ b/Swiften/Elements/DiscoInfo.cpp
@@ -21,7 +21,7 @@ const std::string DiscoInfo::JingleFTFeature = std::string("urn:xmpp:jingle:apps
const std::string DiscoInfo::JingleTransportsIBBFeature = std::string("urn:xmpp:jingle:transports:ibb:1");
const std::string DiscoInfo::JingleTransportsS5BFeature = std::string("urn:xmpp:jingle:transports:s5b:1");
const std::string DiscoInfo::Bytestream = std::string("http://jabber.org/protocol/bytestreams");
-
+const std::string DiscoInfo::MessageDeliveryReceiptsFeature = std::string("urn:xmpp:receipts");
bool DiscoInfo::Identity::operator<(const Identity& other) const {
if (category_ == other.category_) {
diff --git a/Swiften/Elements/DiscoInfo.h b/Swiften/Elements/DiscoInfo.h
index 6d6e722..3173ee6 100644
--- a/Swiften/Elements/DiscoInfo.h
+++ b/Swiften/Elements/DiscoInfo.h
@@ -28,6 +28,7 @@ namespace Swift {
static const std::string JingleTransportsIBBFeature;
static const std::string JingleTransportsS5BFeature;
static const std::string Bytestream;
+ static const std::string MessageDeliveryReceiptsFeature;
class Identity {
public: