XML fix
This commit is contained in:
parent
e51aa20420
commit
207d10d3e2
9 changed files with 73 additions and 70 deletions
|
@ -58,33 +58,28 @@ void Client::readData()
|
||||||
qDebug() << data;
|
qDebug() << data;
|
||||||
xmlReader->addData(data);
|
xmlReader->addData(data);
|
||||||
|
|
||||||
if (topLevelItem)
|
while (!xmlReader->atEnd()) {
|
||||||
topLevelItem->read(xmlReader);
|
xmlReader->readNext();
|
||||||
else {
|
if (topLevelItem)
|
||||||
while (!xmlReader->atEnd()) {
|
topLevelItem->readElement(xmlReader);
|
||||||
xmlReader->readNext();
|
else if (xmlReader->isStartElement() && (xmlReader->name().toString() == "cockatrice_server_stream")) {
|
||||||
if (xmlReader->isStartElement() && (xmlReader->name().toString() == "cockatrice_server_stream")) {
|
int serverVersion = xmlReader->attributes().value("version").toString().toInt();
|
||||||
int serverVersion = xmlReader->attributes().value("version").toString().toInt();
|
if (serverVersion != ProtocolItem::protocolVersion) {
|
||||||
if (serverVersion != ProtocolItem::protocolVersion) {
|
emit protocolVersionMismatch(ProtocolItem::protocolVersion, serverVersion);
|
||||||
emit protocolVersionMismatch(ProtocolItem::protocolVersion, serverVersion);
|
disconnectFromServer();
|
||||||
disconnectFromServer();
|
return;
|
||||||
return;
|
|
||||||
}
|
|
||||||
xmlWriter->writeStartDocument();
|
|
||||||
xmlWriter->writeStartElement("cockatrice_client_stream");
|
|
||||||
xmlWriter->writeAttribute("version", QString::number(ProtocolItem::protocolVersion));
|
|
||||||
|
|
||||||
topLevelItem = new TopLevelProtocolItem;
|
|
||||||
connect(topLevelItem, SIGNAL(protocolItemReceived(ProtocolItem *)), this, SLOT(processProtocolItem(ProtocolItem *)));
|
|
||||||
|
|
||||||
setStatus(StatusLoggingIn);
|
|
||||||
Command_Login *cmdLogin = new Command_Login(userName, password);
|
|
||||||
connect(cmdLogin, SIGNAL(finished(ResponseCode)), this, SLOT(loginResponse(ResponseCode)));
|
|
||||||
sendCommand(cmdLogin);
|
|
||||||
|
|
||||||
if (topLevelItem)
|
|
||||||
topLevelItem->read(xmlReader);
|
|
||||||
}
|
}
|
||||||
|
xmlWriter->writeStartDocument();
|
||||||
|
xmlWriter->writeStartElement("cockatrice_client_stream");
|
||||||
|
xmlWriter->writeAttribute("version", QString::number(ProtocolItem::protocolVersion));
|
||||||
|
|
||||||
|
topLevelItem = new TopLevelProtocolItem;
|
||||||
|
connect(topLevelItem, SIGNAL(protocolItemReceived(ProtocolItem *)), this, SLOT(processProtocolItem(ProtocolItem *)));
|
||||||
|
|
||||||
|
setStatus(StatusLoggingIn);
|
||||||
|
Command_Login *cmdLogin = new Command_Login(userName, password);
|
||||||
|
connect(cmdLogin, SIGNAL(finished(ResponseCode)), this, SLOT(loginResponse(ResponseCode)));
|
||||||
|
sendCommand(cmdLogin);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
if (status == StatusDisconnecting)
|
if (status == StatusDisconnecting)
|
||||||
|
|
|
@ -102,6 +102,12 @@ void TabDeckStorage::actUpload()
|
||||||
DeckList *deck = new DeckList;
|
DeckList *deck = new DeckList;
|
||||||
if (!deck->loadFromFile(filePath, DeckList::CockatriceFormat))
|
if (!deck->loadFromFile(filePath, DeckList::CockatriceFormat))
|
||||||
return;
|
return;
|
||||||
|
if (deck->getName().isEmpty()) {
|
||||||
|
QString deckName = QInputDialog::getText(this, tr("Enter deck name"), tr("This decklist does not have a name.\nPlease enter a name:"), QLineEdit::Normal, tr("Unnamed deck"));
|
||||||
|
if (deckName.isEmpty())
|
||||||
|
deckName = tr("Unnamed deck");
|
||||||
|
deck->setName(deckName);
|
||||||
|
}
|
||||||
|
|
||||||
QString targetPath;
|
QString targetPath;
|
||||||
QTreeWidgetItem *curRight = serverDirView->currentItem();
|
QTreeWidgetItem *curRight = serverDirView->currentItem();
|
||||||
|
|
|
@ -5,6 +5,7 @@
|
||||||
#include <QXmlStreamWriter>
|
#include <QXmlStreamWriter>
|
||||||
#include <QVariant>
|
#include <QVariant>
|
||||||
#include "decklist.h"
|
#include "decklist.h"
|
||||||
|
#include <QDebug>
|
||||||
|
|
||||||
AbstractDecklistNode::AbstractDecklistNode(InnerDecklistNode *_parent)
|
AbstractDecklistNode::AbstractDecklistNode(InnerDecklistNode *_parent)
|
||||||
: parent(_parent), currentItem(0)
|
: parent(_parent), currentItem(0)
|
||||||
|
@ -212,7 +213,7 @@ DeckList::~DeckList()
|
||||||
delete root;
|
delete root;
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckList::readElement(QXmlStreamReader *xml)
|
bool DeckList::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (currentZone) {
|
if (currentZone) {
|
||||||
if (currentZone->readElement(xml))
|
if (currentZone->readElement(xml))
|
||||||
|
@ -228,6 +229,7 @@ void DeckList::readElement(QXmlStreamReader *xml)
|
||||||
currentZone = new InnerDecklistNode(xml->attributes().value("name").toString(), root);
|
currentZone = new InnerDecklistNode(xml->attributes().value("name").toString(), root);
|
||||||
else if (xml->isCharacters() && !xml->isWhitespace())
|
else if (xml->isCharacters() && !xml->isWhitespace())
|
||||||
currentElementText = xml->text().toString();
|
currentElementText = xml->text().toString();
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void DeckList::writeElement(QXmlStreamWriter *xml)
|
void DeckList::writeElement(QXmlStreamWriter *xml)
|
||||||
|
|
|
@ -107,7 +107,7 @@ public:
|
||||||
QString getLastFileName() const { return lastFileName; }
|
QString getLastFileName() const { return lastFileName; }
|
||||||
FileFormat getLastFileFormat() const { return lastFileFormat; }
|
FileFormat getLastFileFormat() const { return lastFileFormat; }
|
||||||
|
|
||||||
void readElement(QXmlStreamReader *xml);
|
bool readElement(QXmlStreamReader *xml);
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
void loadFromXml(QXmlStreamReader *xml);
|
void loadFromXml(QXmlStreamReader *xml);
|
||||||
|
|
||||||
|
|
|
@ -53,7 +53,7 @@ TopLevelProtocolItem::TopLevelProtocolItem()
|
||||||
bool TopLevelProtocolItem::readCurrentItem(QXmlStreamReader *xml)
|
bool TopLevelProtocolItem::readCurrentItem(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (currentItem) {
|
if (currentItem) {
|
||||||
if (currentItem->read(xml)) {
|
if (currentItem->readElement(xml)) {
|
||||||
emit protocolItemReceived(currentItem);
|
emit protocolItemReceived(currentItem);
|
||||||
currentItem = 0;
|
currentItem = 0;
|
||||||
}
|
}
|
||||||
|
@ -62,7 +62,7 @@ bool TopLevelProtocolItem::readCurrentItem(QXmlStreamReader *xml)
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
void TopLevelProtocolItem::readElement(QXmlStreamReader *xml)
|
bool TopLevelProtocolItem::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (!readCurrentItem(xml) && (xml->isStartElement())) {
|
if (!readCurrentItem(xml) && (xml->isStartElement())) {
|
||||||
QString childName = xml->name().toString();
|
QString childName = xml->name().toString();
|
||||||
|
@ -74,6 +74,7 @@ void TopLevelProtocolItem::readElement(QXmlStreamReader *xml)
|
||||||
|
|
||||||
readCurrentItem(xml);
|
readCurrentItem(xml);
|
||||||
}
|
}
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void TopLevelProtocolItem::writeElement(QXmlStreamWriter * /*xml*/)
|
void TopLevelProtocolItem::writeElement(QXmlStreamWriter * /*xml*/)
|
||||||
|
|
|
@ -58,11 +58,10 @@ signals:
|
||||||
private:
|
private:
|
||||||
ProtocolItem *currentItem;
|
ProtocolItem *currentItem;
|
||||||
bool readCurrentItem(QXmlStreamReader *xml);
|
bool readCurrentItem(QXmlStreamReader *xml);
|
||||||
protected:
|
|
||||||
void readElement(QXmlStreamReader *xml);
|
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
|
||||||
public:
|
public:
|
||||||
TopLevelProtocolItem();
|
TopLevelProtocolItem();
|
||||||
|
bool readElement(QXmlStreamReader *xml);
|
||||||
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
};
|
};
|
||||||
|
|
||||||
// ----------------
|
// ----------------
|
||||||
|
|
|
@ -17,14 +17,10 @@ void SerializableItem::registerSerializableItem(const QString &name, NewItemFunc
|
||||||
itemNameHash.insert(name, func);
|
itemNameHash.insert(name, func);
|
||||||
}
|
}
|
||||||
|
|
||||||
bool SerializableItem::read(QXmlStreamReader *xml)
|
bool SerializableItem::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
while (!xml->atEnd()) {
|
if (xml->isEndElement() && (xml->name() == itemType))
|
||||||
xml->readNext();
|
return true;
|
||||||
readElement(xml);
|
|
||||||
if (xml->isEndElement() && (xml->name() == itemType))
|
|
||||||
return true;
|
|
||||||
}
|
|
||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -46,12 +42,14 @@ SerializableItem_Map::~SerializableItem_Map()
|
||||||
delete itemList[i];
|
delete itemList[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Map::readElement(QXmlStreamReader *xml)
|
bool SerializableItem_Map::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (currentItem) {
|
if (currentItem) {
|
||||||
if (currentItem->read(xml))
|
if (currentItem->readElement(xml))
|
||||||
currentItem = 0;
|
currentItem = 0;
|
||||||
} else if (xml->isEndElement() && (xml->name() == itemType))
|
} else if (firstItem)
|
||||||
|
firstItem = false;
|
||||||
|
else if (xml->isEndElement() && (xml->name() == itemType))
|
||||||
extractData();
|
extractData();
|
||||||
else if (xml->isStartElement()) {
|
else if (xml->isStartElement()) {
|
||||||
QString childName = xml->name().toString();
|
QString childName = xml->name().toString();
|
||||||
|
@ -63,9 +61,10 @@ void SerializableItem_Map::readElement(QXmlStreamReader *xml)
|
||||||
if (!currentItem)
|
if (!currentItem)
|
||||||
currentItem = new SerializableItem_Invalid(childName);
|
currentItem = new SerializableItem_Invalid(childName);
|
||||||
}
|
}
|
||||||
if (currentItem->read(xml))
|
if (currentItem->readElement(xml))
|
||||||
currentItem = 0;
|
currentItem = 0;
|
||||||
}
|
}
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Map::writeElement(QXmlStreamWriter *xml)
|
void SerializableItem_Map::writeElement(QXmlStreamWriter *xml)
|
||||||
|
@ -77,10 +76,11 @@ void SerializableItem_Map::writeElement(QXmlStreamWriter *xml)
|
||||||
itemList[i]->write(xml);
|
itemList[i]->write(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_String::readElement(QXmlStreamReader *xml)
|
bool SerializableItem_String::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (xml->isCharacters() && !xml->isWhitespace())
|
if (xml->isCharacters() && !xml->isWhitespace())
|
||||||
data = xml->text().toString();
|
data = xml->text().toString();
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_String::writeElement(QXmlStreamWriter *xml)
|
void SerializableItem_String::writeElement(QXmlStreamWriter *xml)
|
||||||
|
@ -88,7 +88,7 @@ void SerializableItem_String::writeElement(QXmlStreamWriter *xml)
|
||||||
xml->writeCharacters(data);
|
xml->writeCharacters(data);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Int::readElement(QXmlStreamReader *xml)
|
bool SerializableItem_Int::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (xml->isCharacters() && !xml->isWhitespace()) {
|
if (xml->isCharacters() && !xml->isWhitespace()) {
|
||||||
bool ok;
|
bool ok;
|
||||||
|
@ -96,6 +96,7 @@ void SerializableItem_Int::readElement(QXmlStreamReader *xml)
|
||||||
if (!ok)
|
if (!ok)
|
||||||
data = -1;
|
data = -1;
|
||||||
}
|
}
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Int::writeElement(QXmlStreamWriter *xml)
|
void SerializableItem_Int::writeElement(QXmlStreamWriter *xml)
|
||||||
|
@ -103,10 +104,11 @@ void SerializableItem_Int::writeElement(QXmlStreamWriter *xml)
|
||||||
xml->writeCharacters(QString::number(data));
|
xml->writeCharacters(QString::number(data));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Bool::readElement(QXmlStreamReader *xml)
|
bool SerializableItem_Bool::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (xml->isCharacters() && !xml->isWhitespace())
|
if (xml->isCharacters() && !xml->isWhitespace())
|
||||||
data = xml->text().toString() == "1";
|
data = xml->text().toString() == "1";
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Bool::writeElement(QXmlStreamWriter *xml)
|
void SerializableItem_Bool::writeElement(QXmlStreamWriter *xml)
|
||||||
|
@ -124,13 +126,14 @@ QColor SerializableItem_Color::colorFromInt(int colorValue) const
|
||||||
return QColor(colorValue / 65536, (colorValue % 65536) / 256, colorValue % 256);
|
return QColor(colorValue / 65536, (colorValue % 65536) / 256, colorValue % 256);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Color::readElement(QXmlStreamReader *xml)
|
bool SerializableItem_Color::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (xml->isCharacters() && !xml->isWhitespace()) {
|
if (xml->isCharacters() && !xml->isWhitespace()) {
|
||||||
bool ok;
|
bool ok;
|
||||||
int colorValue = xml->text().toString().toInt(&ok);
|
int colorValue = xml->text().toString().toInt(&ok);
|
||||||
data = ok ? colorFromInt(colorValue) : Qt::black;
|
data = ok ? colorFromInt(colorValue) : Qt::black;
|
||||||
}
|
}
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_Color::writeElement(QXmlStreamWriter *xml)
|
void SerializableItem_Color::writeElement(QXmlStreamWriter *xml)
|
||||||
|
@ -138,13 +141,14 @@ void SerializableItem_Color::writeElement(QXmlStreamWriter *xml)
|
||||||
xml->writeCharacters(QString::number(colorToInt(data)));
|
xml->writeCharacters(QString::number(colorToInt(data)));
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_DateTime::readElement(QXmlStreamReader *xml)
|
bool SerializableItem_DateTime::readElement(QXmlStreamReader *xml)
|
||||||
{
|
{
|
||||||
if (xml->isCharacters() && !xml->isWhitespace()) {
|
if (xml->isCharacters() && !xml->isWhitespace()) {
|
||||||
bool ok;
|
bool ok;
|
||||||
unsigned int dateTimeValue = xml->text().toString().toUInt(&ok);
|
unsigned int dateTimeValue = xml->text().toString().toUInt(&ok);
|
||||||
data = ok ? QDateTime::fromTime_t(dateTimeValue) : QDateTime();
|
data = ok ? QDateTime::fromTime_t(dateTimeValue) : QDateTime();
|
||||||
}
|
}
|
||||||
|
return SerializableItem::readElement(xml);
|
||||||
}
|
}
|
||||||
|
|
||||||
void SerializableItem_DateTime::writeElement(QXmlStreamWriter *xml)
|
void SerializableItem_DateTime::writeElement(QXmlStreamWriter *xml)
|
||||||
|
|
|
@ -18,23 +18,22 @@ protected:
|
||||||
static QHash<QString, NewItemFunction> itemNameHash;
|
static QHash<QString, NewItemFunction> itemNameHash;
|
||||||
|
|
||||||
QString itemType, itemSubType;
|
QString itemType, itemSubType;
|
||||||
|
bool firstItem;
|
||||||
public:
|
public:
|
||||||
SerializableItem(const QString &_itemType, const QString &_itemSubType = QString())
|
SerializableItem(const QString &_itemType, const QString &_itemSubType = QString())
|
||||||
: QObject(), itemType(_itemType), itemSubType(_itemSubType) { }
|
: QObject(), itemType(_itemType), itemSubType(_itemSubType), firstItem(true) { }
|
||||||
static void registerSerializableItem(const QString &name, NewItemFunction func);
|
static void registerSerializableItem(const QString &name, NewItemFunction func);
|
||||||
static SerializableItem *getNewItem(const QString &name);
|
static SerializableItem *getNewItem(const QString &name);
|
||||||
const QString &getItemType() const { return itemType; }
|
const QString &getItemType() const { return itemType; }
|
||||||
const QString &getItemSubType() const { return itemSubType; }
|
const QString &getItemSubType() const { return itemSubType; }
|
||||||
virtual void readElement(QXmlStreamReader *xml) = 0;
|
virtual bool readElement(QXmlStreamReader *xml);
|
||||||
virtual void writeElement(QXmlStreamWriter *xml) = 0;
|
virtual void writeElement(QXmlStreamWriter *xml) = 0;
|
||||||
bool read(QXmlStreamReader *xml);
|
|
||||||
void write(QXmlStreamWriter *xml);
|
void write(QXmlStreamWriter *xml);
|
||||||
};
|
};
|
||||||
|
|
||||||
class SerializableItem_Invalid : public SerializableItem {
|
class SerializableItem_Invalid : public SerializableItem {
|
||||||
public:
|
public:
|
||||||
SerializableItem_Invalid(const QString &_itemType) : SerializableItem(_itemType) { }
|
SerializableItem_Invalid(const QString &_itemType) : SerializableItem(_itemType) { }
|
||||||
void readElement(QXmlStreamReader * /*xml*/) { }
|
|
||||||
void writeElement(QXmlStreamWriter * /*xml*/) { }
|
void writeElement(QXmlStreamWriter * /*xml*/) { }
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -65,7 +64,7 @@ public:
|
||||||
{
|
{
|
||||||
}
|
}
|
||||||
~SerializableItem_Map();
|
~SerializableItem_Map();
|
||||||
void readElement(QXmlStreamReader *xml);
|
bool readElement(QXmlStreamReader *xml);
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
void appendItem(SerializableItem *item) { itemList.append(item); }
|
void appendItem(SerializableItem *item) { itemList.append(item); }
|
||||||
};
|
};
|
||||||
|
@ -74,7 +73,7 @@ class SerializableItem_String : public SerializableItem {
|
||||||
private:
|
private:
|
||||||
QString data;
|
QString data;
|
||||||
protected:
|
protected:
|
||||||
void readElement(QXmlStreamReader *xml);
|
bool readElement(QXmlStreamReader *xml);
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
public:
|
public:
|
||||||
SerializableItem_String(const QString &_itemType, const QString &_data)
|
SerializableItem_String(const QString &_itemType, const QString &_data)
|
||||||
|
@ -87,7 +86,7 @@ class SerializableItem_Int : public SerializableItem {
|
||||||
private:
|
private:
|
||||||
int data;
|
int data;
|
||||||
protected:
|
protected:
|
||||||
void readElement(QXmlStreamReader *xml);
|
bool readElement(QXmlStreamReader *xml);
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
public:
|
public:
|
||||||
SerializableItem_Int(const QString &_itemType, int _data)
|
SerializableItem_Int(const QString &_itemType, int _data)
|
||||||
|
@ -100,7 +99,7 @@ class SerializableItem_Bool : public SerializableItem {
|
||||||
private:
|
private:
|
||||||
bool data;
|
bool data;
|
||||||
protected:
|
protected:
|
||||||
void readElement(QXmlStreamReader *xml);
|
bool readElement(QXmlStreamReader *xml);
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
public:
|
public:
|
||||||
SerializableItem_Bool(const QString &_itemType, bool _data)
|
SerializableItem_Bool(const QString &_itemType, bool _data)
|
||||||
|
@ -115,7 +114,7 @@ private:
|
||||||
int colorToInt(const QColor &color) const;
|
int colorToInt(const QColor &color) const;
|
||||||
QColor colorFromInt(int colorValue) const;
|
QColor colorFromInt(int colorValue) const;
|
||||||
protected:
|
protected:
|
||||||
void readElement(QXmlStreamReader *xml);
|
bool readElement(QXmlStreamReader *xml);
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
public:
|
public:
|
||||||
SerializableItem_Color(const QString &_itemType, const QColor &_data)
|
SerializableItem_Color(const QString &_itemType, const QColor &_data)
|
||||||
|
@ -128,7 +127,7 @@ class SerializableItem_DateTime : public SerializableItem {
|
||||||
private:
|
private:
|
||||||
QDateTime data;
|
QDateTime data;
|
||||||
protected:
|
protected:
|
||||||
void readElement(QXmlStreamReader *xml);
|
bool readElement(QXmlStreamReader *xml);
|
||||||
void writeElement(QXmlStreamWriter *xml);
|
void writeElement(QXmlStreamWriter *xml);
|
||||||
public:
|
public:
|
||||||
SerializableItem_DateTime(const QString &_itemType, const QDateTime &_data)
|
SerializableItem_DateTime(const QString &_itemType, const QDateTime &_data)
|
||||||
|
|
|
@ -73,18 +73,15 @@ void ServerSocketInterface::readClient()
|
||||||
qDebug() << data;
|
qDebug() << data;
|
||||||
xmlReader->addData(data);
|
xmlReader->addData(data);
|
||||||
|
|
||||||
if (topLevelItem)
|
while (!xmlReader->atEnd()) {
|
||||||
topLevelItem->read(xmlReader);
|
xmlReader->readNext();
|
||||||
else
|
if (topLevelItem)
|
||||||
while (!xmlReader->atEnd()) {
|
topLevelItem->readElement(xmlReader);
|
||||||
xmlReader->readNext();
|
else if (xmlReader->isStartElement() && (xmlReader->name().toString() == "cockatrice_client_stream")) {
|
||||||
if (xmlReader->isStartElement() && (xmlReader->name().toString() == "cockatrice_client_stream")) {
|
topLevelItem = new TopLevelProtocolItem;
|
||||||
topLevelItem = new TopLevelProtocolItem;
|
connect(topLevelItem, SIGNAL(protocolItemReceived(ProtocolItem *)), this, SLOT(processProtocolItem(ProtocolItem *)));
|
||||||
connect(topLevelItem, SIGNAL(protocolItemReceived(ProtocolItem *)), this, SLOT(processProtocolItem(ProtocolItem *)));
|
|
||||||
|
|
||||||
topLevelItem->read(xmlReader);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void ServerSocketInterface::catchSocketError(QAbstractSocket::SocketError socketError)
|
void ServerSocketInterface::catchSocketError(QAbstractSocket::SocketError socketError)
|
||||||
|
|
Loading…
Reference in a new issue