You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
54 lines
1.1 KiB
C++
54 lines
1.1 KiB
C++
#ifndef NBTMODIFIER_ABSTRACTNAMEDTAG_H
|
|
#define NBTMODIFIER_ABSTRACTNAMEDTAG_H
|
|
|
|
#include "AbstractTag.h"
|
|
|
|
#include <QtCore/QString>
|
|
|
|
class AbstractNamedTag : public AbstractTag {
|
|
public:
|
|
/**
|
|
* Get the tag name
|
|
*
|
|
* @return The tag name
|
|
*/
|
|
const QString &name () const;
|
|
/**
|
|
* Set the tag name
|
|
*
|
|
* @param name The new tag name
|
|
*/
|
|
void setName (const QString &name);
|
|
|
|
protected:
|
|
explicit AbstractNamedTag (const quint8 id);
|
|
|
|
virtual void readFromData (QDataStream &data) override;
|
|
virtual void writeToData (QDataStream &data) const override;
|
|
|
|
/**
|
|
* Read a tag payload from a data stream
|
|
*
|
|
* @param data The data stream
|
|
*
|
|
* @return True if read is success, otherwise false
|
|
*/
|
|
virtual void readPayloadFromData (QDataStream &data) = 0;
|
|
/**
|
|
* Write a tag payload to a data stream
|
|
*
|
|
* @param data The data stream
|
|
*
|
|
* @return True if write is success, otherwise false
|
|
*/
|
|
virtual void writePayloadToData (QDataStream &data) const = 0;
|
|
|
|
private:
|
|
/**
|
|
* The tag name
|
|
*/
|
|
QString m_name;
|
|
};
|
|
|
|
#endif //NBTMODIFIER_ABSTRACTNAMEDTAG_H
|