#include "AbstractTag.h" //#include "TagEnd.h" //#include "TagByte.h" //#include "TagShort.h" //#include "TagInt.h" //#include "TagLong.h" //#include "TagFloat.h" //#include "TagDouble.h" //#include "TagByteArray.h" //#include "TagString.h" // //#include // //AbstractTag::AbstractTag (const quint8 id) : m_id(id) {} // //const quint8 AbstractTag::id () const { // return m_id; //} // //const quint8 AbstractTag::extractId (const QByteArray &data) { // QDataStream stream(data); // // quint8 id; // stream >> id; // // return id; //} //AbstractTag *AbstractTag::createEmptyFromId (const quint8 id) { // switch (id) { // case TagEnd::ID: // return new TagEnd(); // // case TagByte::ID: // return new TagByte(); // // case TagShort::ID: // return new TagShort(); // // case TagInt::ID: // return new TagInt(); // // case TagLong::ID: // return new TagLong(); // // case TagFloat::ID: // return new TagFloat(); // // case TagDouble::ID: // return new TagDouble(); // // case TagByteArray::ID: // return new TagByteArray(); // // case TagString::ID: // return new TagString(); // } // // return nullptr; //} //AbstractTag *AbstractTag::createEmptyFromData (const QByteArray &data) { // return createEmptyFromId(extractId(data)); //} // //QDataStream &operator << (QDataStream &data, const AbstractTag &tag) { // data << tag.id(); // tag.writeToData(data); // // return data; //} //QDataStream &operator >> (QDataStream &data, AbstractTag &tag) { // quint8 id; // data >> id; // // tag.readFromData(data); // // return data; //}