aboutsummaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-12 08:34:54 +0000
committerManjeet Dahiya <manjeetdahiya@gmail.com>2010-09-12 08:34:54 +0000
commit60b0ae71fd1fd47a040209f526e1abdbc30d2137 (patch)
treea9fe363ee4d5a2b4882182d2dd9787f1cc50076e /src
parent3b5a4a72722196919c3cfa20757de47bd1a03689 (diff)
downloadqxmpp-60b0ae71fd1fd47a040209f526e1abdbc30d2137.tar.gz
add entity time iq
Diffstat (limited to 'src')
-rw-r--r--src/QXmppEntityTimeIq.cpp53
-rw-r--r--src/QXmppEntityTimeIq.h30
2 files changed, 83 insertions, 0 deletions
diff --git a/src/QXmppEntityTimeIq.cpp b/src/QXmppEntityTimeIq.cpp
index e69de29b..58758889 100644
--- a/src/QXmppEntityTimeIq.cpp
+++ b/src/QXmppEntityTimeIq.cpp
@@ -0,0 +1,53 @@
+#include "QXmppEntityTimeIq.h"
+
+#include <QDomElement>
+
+#include "QXmppConstants.h"
+#include "QXmppUtils.h"
+
+QString QXmppEntityTimeIq::tzo() const
+{
+ return m_tzo;
+}
+
+void QXmppEntityTimeIq::setTzo(const QString &tzo)
+{
+ m_tzo = tzo;
+}
+
+QString QXmppEntityTimeIq::utc() const
+{
+ return m_utc;
+}
+
+void QXmppEntityTimeIq::setUtc(const QString &utc)
+{
+ m_utc = utc;
+}
+
+bool QXmppEntityTimeIq::isEntityTimeIq(const QDomElement &element)
+{
+ QDomElement timeElement = element.firstChildElement("time");
+ return timeElement.namespaceURI() == ns_entity_time;
+}
+
+void QXmppEntityTimeIq::parseElementFromChild(const QDomElement &element)
+{
+ QDomElement timeElement = element.firstChildElement("time");
+ m_tzo = timeElement.firstChildElement("tzo").text();
+ m_utc = timeElement.firstChildElement("utc").text();
+}
+
+void QXmppEntityTimeIq::toXmlElementFromChild(QXmlStreamWriter *writer) const
+{
+ writer->writeStartElement("time");
+ helperToXmlAddAttribute(writer, "xmlns", ns_entity_time);
+
+ if(!m_tzo.isEmpty())
+ helperToXmlAddTextElement(writer, "tzo", m_tzo);
+
+ if(!m_utc.isEmpty())
+ helperToXmlAddTextElement(writer, "utc", m_utc);
+
+ writer->writeEndElement();
+}
diff --git a/src/QXmppEntityTimeIq.h b/src/QXmppEntityTimeIq.h
index e69de29b..1b7d56b8 100644
--- a/src/QXmppEntityTimeIq.h
+++ b/src/QXmppEntityTimeIq.h
@@ -0,0 +1,30 @@
+#ifndef QXMPPENTITYTIMEIQ_H
+#define QXMPPENTITYTIMEIQ_H
+
+#include "QXmppIq.h"
+
+/// \ingroup Stanzas
+
+class QXmppEntityTimeIq : public QXmppIq
+{
+public:
+ QString tzo() const;
+ void setTzo(const QString &tzo);
+
+ QString utc() const;
+ void setUtc(const QString &utc);
+
+ static bool isEntityTimeIq(const QDomElement &element);
+
+protected:
+ /// \cond
+ void parseElementFromChild(const QDomElement &element);
+ void toXmlElementFromChild(QXmlStreamWriter *writer) const;
+ /// \endcond
+
+private:
+ QString m_tzo;
+ QString m_utc;
+};
+
+#endif //QXMPPENTITYTIMEIQ_H