Attica

messageparser.cpp
1 /*
2  This file is part of KDE.
3 
4  SPDX-FileCopyrightText: 2008 Cornelius Schumacher <[email protected]>
5 
6  SPDX-License-Identifier: LGPL-2.1-only OR LGPL-3.0-only OR LicenseRef-KDE-Accepted-LGPL
7 */
8 
9 #include "messageparser.h"
10 
11 using namespace Attica;
12 
13 Message Message::Parser::parseXml(QXmlStreamReader &xml)
14 {
16 
17  while (!xml.atEnd()) {
18  xml.readNext();
19 
20  if (xml.isStartElement()) {
21  if (xml.name() == QLatin1String("id")) {
22  message.setId(xml.readElementText());
23  } else if (xml.name() == QLatin1String("messagefrom")) {
24  message.setFrom(xml.readElementText());
25  } else if (xml.name() == QLatin1String("messageto")) {
26  message.setTo(xml.readElementText());
27  } else if (xml.name() == QLatin1String("senddate")) {
28  message.setSent(QDateTime::fromString(xml.readElementText(), Qt::ISODate));
29  } else if (xml.name() == QLatin1String("status")) {
30  message.setStatus(Message::Status(xml.readElementText().toInt()));
31  } else if (xml.name() == QLatin1String("subject")) {
32  message.setSubject(xml.readElementText());
33  } else if (xml.name() == QLatin1String("body")) {
34  message.setBody(xml.readElementText());
35  }
36  }
37 
38  if (xml.isEndElement() && xml.name() == QLatin1String("message")) {
39  break;
40  }
41  }
42 
43  return message;
44 }
45 
46 QStringList Message::Parser::xmlElement() const
47 {
48  return QStringList(QStringLiteral("message"));
49 }
KCOREADDONS_EXPORT void message(KMessage::MessageType messageType, const QString &text, const QString &caption=QString())
bool atEnd() const const
QString readElementText(QXmlStreamReader::ReadElementTextBehaviour behaviour)
int toInt(bool *ok, int base) const const
QXmlStreamReader::TokenType readNext()
QDateTime fromString(const QString &string, Qt::DateFormat format)
bool isStartElement() const const
QStringRef name() const const
bool isEndElement() const const
This file is part of the KDE documentation.
Documentation copyright © 1996-2021 The KDE developers.
Generated on Mon Jan 25 2021 23:06:24 by doxygen 1.8.11 written by Dimitri van Heesch, © 1997-2006

KDE's Doxygen guidelines are available online.