#include "AbstractNamedTag.h" #include #include AbstractNamedTag::AbstractNamedTag (const quint8 id) : AbstractTag(id) {} void AbstractNamedTag::readFromData (QDataStream &data) { quint16 size; data >> size; size = qFromBigEndian(size); char *rawName = new char[size]; if (data.readRawData(rawName, size) == -1) { return; } m_name = QString::fromUtf8(rawName); readPayloadFromData(data); } void AbstractNamedTag::writeToData (QDataStream &data) const { const QByteArray rawName = m_name.toUtf8(); data << qToBigEndian(rawName.size()) << rawName.constData(); writePayloadToData(data); } const QString &AbstractNamedTag::name () const { return m_name; } void AbstractNamedTag::setName (const QString &name) { m_name = name; }