#include "remotelist.h"
+
#include <QFile>
#include <QDomElement>
#include <QDomNodeList>
parse(doc);
}
-RemoteList::RemoteList(const QString &xmlFile)
-{
- parse(xmlFile);
-}
-
RemoteList::~RemoteList()
{
}
parse(doc);
}
-void RemoteList::setContent(const QString &xmlFile)
-{
- mfgMap.clear();
- modelMap.clear();
- parse(xmlFile);
-}
-
bool RemoteList::isValid()
{
return valid;
}
-QList<QChar> RemoteList::letters()
+QStringList RemoteList::letters()
{
return mfgMap.keys();
}
-QStringList RemoteList::manufacturers(const QChar &letter)
+QStringList RemoteList::manufacturers(const QString &letter)
{
return mfgMap.value(letter);
}
return modelMap.value(manufacturer);
}
-void RemoteList::parse(const QString &xmlFile)
-{
- QFile file(xmlFile);
- QDomDocument doc;
-
- if (!file.open(QIODevice::ReadOnly))
- {
- valid = false;
- return;
- }
-
- if (!doc.setContent(&file))
- {
- file.close();
- valid = false;
- return;
- }
- file.close();
-
- parse(doc);
-}
-
void RemoteList::parse(QDomDocument &doc)
{
QDomNodeList chars = doc.elementsByTagName("char");
}
}
+ // TODO: more error handling
valid = (mfgMap.size() > 0 &&
- modelMap.size() > 0 &&
- mfgMap.values().size() == modelMap.keys().size());
+ modelMap.size() > 0);
}
QStringList RemoteList::parseMfgs(QDomElement &charEl)