31 mEntryXML = serializeElement(entry);
38 mEntry = deserializeElement(entryxml);
41 void EntryHandler::init()
87 QDomElement EntryHandler::serializeElement(
const Entry& entry)
91 QDomElement el = doc.createElement(
"stuff");
92 el.setAttribute(
"category", entry.
category());
96 QStringList::ConstIterator it;
101 for (it = langs.constBegin(); it != langs.constEnd(); ++it) {
102 e = addElement(doc, el,
"name", name.
translated(*it));
103 e.setAttribute(
"lang", *it);
106 QDomElement author = addElement(doc, el,
"author", entry.
author().
name());
108 author.setAttribute(
"email", entry.
author().
email());
115 (void)addElement(doc, el,
"licence", entry.
license());
116 (void)addElement(doc, el,
"version", entry.
version());
118 (void)addElement(doc, el,
"release", QString::number(entry.
release()));
120 (void)addElement(doc, el,
"rating", QString::number(entry.
rating()));
121 (void)addElement(doc, el,
"downloads", QString::number(entry.
downloads()));
124 (void)addElement(doc, el,
"signature", entry.
signature());
127 (void)addElement(doc, el,
"checksum", entry.
checksum());
130 (void)addElement(doc, el,
"installedfile", file);
133 addElement(doc, el,
"id", QString::number(entry.
idNumber()));
136 (void)addElement(doc, el,
"releasedate",
144 for (it = langs.constBegin(); it != langs.constEnd(); ++it) {
145 e = addElement(doc, el,
"summary", summary.
translated(*it));
146 e.setAttribute(
"lang", *it);
150 for (it = langs.constBegin(); it != langs.constEnd(); ++it) {
151 e = addElement(doc, el,
"preview",
KUrl(preview.
translated(*it)).fileName());
152 e.setAttribute(
"lang", *it);
156 for (it = langs.constBegin(); it != langs.constEnd(); ++it) {
157 e = addElement(doc, el,
"payload",
KUrl(payload.
translated(*it)).fileName());
158 e.setAttribute(
"lang", *it);
164 Entry EntryHandler::deserializeElement(
const QDomElement& entryxml)
171 if (entryxml.tagName() !=
"stuff")
return entry;
174 QString category = entryxml.attribute(
"category");
179 for (n = entryxml.firstChild(); !n.isNull(); n = n.nextSibling()) {
180 QDomElement e = n.toElement();
181 if (e.tagName() ==
"name") {
182 QString lang = e.attribute(
"lang");
183 name.
addString(lang, e.text().trimmed());
184 }
else if (e.tagName() ==
"author") {
186 QString email = e.attribute(
"email");
187 QString jabber = e.attribute(
"im");
188 QString homepage = e.attribute(
"homepage");
189 author.
setName(e.text().trimmed());
194 }
else if (e.tagName() ==
"licence") {
196 }
else if (e.tagName() ==
"summary") {
197 QString lang = e.attribute(
"lang");
199 summary.
addString(lang, e.text().trimmed());
200 }
else if (e.tagName() ==
"version") {
202 }
else if (e.tagName() ==
"release") {
206 }
else if (e.tagName() ==
"releasedate") {
207 QDate date = QDate::fromString(e.text().trimmed(), Qt::ISODate);
209 }
else if (e.tagName() ==
"preview") {
210 QString lang = e.attribute(
"lang");
211 preview.
addString(lang, e.text().trimmed());
212 }
else if (e.tagName() ==
"payload") {
213 QString lang = e.attribute(
"lang");
214 payload.
addString(lang, e.text().trimmed());
215 }
else if (e.tagName() ==
"rating") {
217 }
else if (e.tagName() ==
"downloads") {
219 }
else if (e.tagName() ==
"category") {
223 }
else if (e.tagName() ==
"signature") {
225 }
else if (e.tagName() ==
"checksum") {
227 }
else if (e.tagName() ==
"installedfile") {
228 installedFiles << e.text();
229 }
else if (e.tagName() ==
"id") {
230 idNumber = e.text().toInt();
245 kWarning(550) <<
"EntryHandler: no name given";
250 kWarning(550) <<
"EntryHandler: no payload URL given";
260 QDomElement EntryHandler::addElement(QDomDocument& doc, QDomElement& parent,
263 QDomElement n = doc.createElement(tag);
264 n.appendChild(doc.createTextNode(value));
265 parent.appendChild(n);