/[projects]/infoscreen/screenxmlhandler.cpp
ViewVC logotype

Contents of /infoscreen/screenxmlhandler.cpp

Parent Directory Parent Directory | Revision Log Revision Log


Revision 638 - (show annotations) (download)
Wed Apr 7 17:00:07 2010 UTC (14 years, 1 month ago) by torben
File size: 2171 byte(s)
Adopt infoscreen to local play mode
1 #include "screenxmlhandler.h"
2
3 #include "httpwrapper.h"
4
5 #include <QDebug>
6
7 ScreenXmlHandler::ScreenXmlHandler()
8 {
9 }
10
11
12 bool ScreenXmlHandler::readXml(QString uri)
13 {
14 screenSet.clear();
15
16 QXmlSimpleReader reader;
17 reader.setContentHandler(this);
18 reader.setErrorHandler(this);
19
20 QByteArray data = HttpWrapper::getSyncData(uri);
21
22 QXmlInputSource xmlInputSource;
23 xmlInputSource.setData(data);
24 return reader.parse(xmlInputSource);
25 }
26
27
28 bool ScreenXmlHandler::startElement(const QString &namespaceURI, const QString &localName, const QString &qName, const QXmlAttributes &attributes)
29 {
30 Q_UNUSED(namespaceURI);
31 Q_UNUSED(localName);
32 Q_UNUSED(attributes);
33 //qDebug() << "XML-start:" << qName;
34 currentText = "";
35
36 if (qName == "screen") {
37 tempItem = ScreenItem();
38 }
39
40 return true;
41 }
42
43 ModuleType ScreenXmlHandler::stringToModule(QString name) {
44 ModuleType type;
45
46 if (name == "info_image") {
47 type = ModuleImage;
48 } else if ( name == "info_web") {
49 type = ModuleWeb;
50 } else if (name == "info_video") {
51 type = ModuleVideo;
52 } else {
53 type = ModuleUnknown;
54 qDebug() << "Unknown module " << name;
55 }
56 return type;
57 }
58
59 bool ScreenXmlHandler::endElement(const QString &namespaceURI, const QString &localName, const QString &qName)
60 {
61 Q_UNUSED(namespaceURI);
62 Q_UNUSED(localName);
63 //qDebug() << "XML-stop:" << qName;
64
65 if (qName == "module") {
66 tempItem.module = stringToModule(currentText);
67 }
68 if (qName == "elementid") {
69 tempItem.elementid = currentText.toInt();
70 }
71 if (qName == "url") {
72 tempItem.url = currentText;
73 }
74 if (qName == "runtime") {
75 tempItem.runtime = currentText.toInt();
76 }
77 if (qName == "timestart") {
78 tempItem.start = QTime::fromString(currentText, "hh:mm:ss");
79 }
80 if (qName == "timestop") {
81 tempItem.stop = QTime::fromString(currentText, "hh:mm:ss");
82 }
83
84
85 if (qName == "screen") {
86 screenSet.append(tempItem);
87 }
88
89 return true;
90 }
91
92 bool ScreenXmlHandler::characters(const QString &str)
93 {
94 currentText += str;
95 return true;
96 }

  ViewVC Help
Powered by ViewVC 1.1.20