aboutsummaryrefslogtreecommitdiff
path: root/source/QXmppPresence.cpp
diff options
context:
space:
mode:
authorJeremy Lainé <jeremy.laine@m4x.org>2010-05-17 11:13:33 +0000
committerJeremy Lainé <jeremy.laine@m4x.org>2010-05-17 11:13:33 +0000
commit7a0d1c1a4ebfb149ff0551282323d9eed02a0266 (patch)
treedfd6123dc8c0b568634c13142d76d8c93415d85a /source/QXmppPresence.cpp
parentfe9e2e5ae4519dc9b5504e5f7ee2f1ca60e9a7a1 (diff)
downloadqxmpp-7a0d1c1a4ebfb149ff0551282323d9eed02a0266.tar.gz
clean up QXmppPresence::Status public API
Diffstat (limited to 'source/QXmppPresence.cpp')
-rw-r--r--source/QXmppPresence.cpp38
1 files changed, 18 insertions, 20 deletions
diff --git a/source/QXmppPresence.cpp b/source/QXmppPresence.cpp
index b6bd27fa..e2544c35 100644
--- a/source/QXmppPresence.cpp
+++ b/source/QXmppPresence.cpp
@@ -70,45 +70,28 @@ void QXmppPresence::parse(const QDomElement &element)
QXmppStanza::parse(element);
setTypeFromStr(element.attribute("type"));
-
- QString statusText = element.
- firstChildElement("status").text();
- QString show = element.
- firstChildElement("show").text();
- int priority = element.
- firstChildElement("priority").text().toInt();
- QXmppPresence::Status status;
- status.setTypeFromStr(show);
- status.setStatusText(statusText);
- status.setPriority(priority);
- setStatus(status);
+ m_status.parse(element);
QDomElement xElement = element.firstChildElement("x");
if(!xElement.isNull())
setExtensions(QXmppElement(xElement));
}
-void QXmppPresence::toXml(QXmlStreamWriter *xmlWriter ) const
+void QXmppPresence::toXml(QXmlStreamWriter *xmlWriter) const
{
-
xmlWriter->writeStartElement("presence");
helperToXmlAddAttribute(xmlWriter,"xml:lang", lang());
helperToXmlAddAttribute(xmlWriter,"id", id());
helperToXmlAddAttribute(xmlWriter,"to", to());
helperToXmlAddAttribute(xmlWriter,"from", from());
helperToXmlAddAttribute(xmlWriter,"type", getTypeStr());
+ m_status.toXml(xmlWriter);
- helperToXmlAddTextElement(xmlWriter,"status", getStatus().getStatusText());
- if(getStatus().getPriority() != 0)
- helperToXmlAddNumberElement(xmlWriter,"priority", getStatus().getPriority());
- helperToXmlAddTextElement(xmlWriter,"show", getStatus().getTypeStr());
-
error().toXml(xmlWriter);
foreach (const QXmppElement &extension, extensions())
extension.toXml(xmlWriter);
xmlWriter->writeEndElement();
-
}
QString QXmppPresence::getTypeStr() const
@@ -322,3 +305,18 @@ void QXmppPresence::Status::setPriority(int priority)
m_priority = priority;
}
+void QXmppPresence::Status::parse(const QDomElement &element)
+{
+ setTypeFromStr(element.firstChildElement("show").text());
+ m_statusText = element.firstChildElement("status").text();
+ m_priority = element.firstChildElement("priority").text().toInt();
+}
+
+void QXmppPresence::Status::toXml(QXmlStreamWriter *xmlWriter) const
+{
+ helperToXmlAddTextElement(xmlWriter, "show", getTypeStr());
+ helperToXmlAddTextElement(xmlWriter, "status", m_statusText);
+ if (m_priority != 0)
+ helperToXmlAddNumberElement(xmlWriter, "priority", m_priority);
+}
+