2021-01-22 21:45:10 +00:00
|
|
|
#ifndef APPLESOFTFILE_H
|
|
|
|
#define APPLESOFTFILE_H
|
|
|
|
|
|
|
|
#include <QByteArray>
|
|
|
|
#include <QStringList>
|
|
|
|
#include <QMap>
|
|
|
|
#include <QVector>
|
|
|
|
|
|
|
|
#include "applesoftline.h"
|
|
|
|
#include "genericfile.h"
|
|
|
|
#include "applesofttoken.h"
|
|
|
|
#include "ApplesoftRetokenizer.h"
|
|
|
|
|
|
|
|
|
|
|
|
class ApplesoftFile : public GenericFile
|
|
|
|
{
|
2021-02-15 22:30:02 +00:00
|
|
|
friend class Dos33DiskImage;
|
|
|
|
|
2021-01-22 21:45:10 +00:00
|
|
|
public:
|
|
|
|
QByteArray extraData();
|
|
|
|
QStringList extraDataHexValues();
|
|
|
|
|
|
|
|
QVector<ApplesoftLine> getLines() const { return m_lines; }
|
|
|
|
|
2021-02-15 22:30:02 +00:00
|
|
|
int length() const override { return m_length; }
|
2021-01-22 21:45:10 +00:00
|
|
|
|
|
|
|
|
2021-02-15 22:30:02 +00:00
|
|
|
protected:
|
|
|
|
void processData();
|
2021-01-22 21:45:10 +00:00
|
|
|
|
2021-02-15 22:30:02 +00:00
|
|
|
private:
|
|
|
|
ApplesoftFile(QByteArray data = QByteArray());
|
2021-01-22 21:45:10 +00:00
|
|
|
QVector<ApplesoftLine> m_lines;
|
|
|
|
int m_data_end;
|
|
|
|
quint16 m_length;
|
|
|
|
|
|
|
|
ApplesoftRetokenizer *m_retokenizer;
|
|
|
|
|
|
|
|
QList<QPair<quint16, quint16> > m_flowTargets;
|
|
|
|
|
|
|
|
};
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
#endif // APPLESOFTFILE_H
|