aboutsummaryrefslogtreecommitdiff
path: root/src/base/QXmppStanza.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/base/QXmppStanza.h')
-rw-r--r--src/base/QXmppStanza.h45
1 files changed, 44 insertions, 1 deletions
diff --git a/src/base/QXmppStanza.h b/src/base/QXmppStanza.h
index 10825b36..48439c34 100644
--- a/src/base/QXmppStanza.h
+++ b/src/base/QXmppStanza.h
@@ -1,8 +1,10 @@
/*
* Copyright (C) 2008-2012 The QXmpp developers
*
- * Author:
+ * Authors:
* Manjeet Dahiya
+ * Jeremy Lainé
+ * Georg Rudoy
*
* Source:
* http://code.google.com/p/qxmpp
@@ -37,6 +39,47 @@
#include "QXmppElement.h"
+class QXmppExtendedAddressPrivate;
+
+/// \brief Represents an extended address as in XEP-0033.
+///
+/// Extended addresses maybe of different types. While XEP-0033 explicitly defines
+/// some of them, other XEPs introduce other types (like the Remote Controlling
+/// Clients XEP, for example). That's why extended address' type is a string rather
+/// then a member of some enum.
+
+class QXMPP_EXPORT QXmppExtendedAddress
+{
+public:
+ QXmppExtendedAddress();
+ QXmppExtendedAddress(const QXmppExtendedAddress&);
+ ~QXmppExtendedAddress();
+
+ QXmppExtendedAddress& operator=(const QXmppExtendedAddress&);
+
+ QString description() const;
+ void setDescription(const QString &description);
+
+ QString jid() const;
+ void setJid(const QString &jid);
+
+ QString type() const;
+ void setType(const QString &type);
+
+ bool isDelivered() const;
+ void setDelivered(bool);
+
+ bool isValid() const;
+
+ /// \cond
+ void parse(const QDomElement &element);
+ void toXml(QXmlStreamWriter *writer);
+ /// \endcond
+
+private:
+ QSharedDataPointer<QXmppExtendedAddressPrivate> d;
+};
+
class QXmppStanzaPrivate;
/// \defgroup Stanzas