AppleSAWS/src/diskfiles/dos33/diskfile.h

60 lines
1.2 KiB
C
Raw Normal View History

2015-12-01 16:24:51 +00:00
#ifndef DISKFILE_H
#define DISKFILE_H
#include <Qt>
#include <QMap>
#include <QString>
#include <QDebug>
#include <QCryptographicHash>
2015-12-01 16:24:51 +00:00
#include "util.h"
#include "sector.h"
#include "vtoc.h"
2017-06-29 05:21:45 +00:00
class GenericFile;
2015-12-01 16:24:51 +00:00
class DiskFile
{
public:
DiskFile(QString filename = "");
2015-12-05 03:47:13 +00:00
~DiskFile();
2015-12-01 16:24:51 +00:00
bool read(QString filename);
Sector &getSector(TSPair ts) { return getSector(ts.track, ts.sector); }
Sector &getSector(int track, int sector) {
return m_contents[track][sector];
}
VTOC getVTOC();
QList<CatalogSector> getCatalogSectors();
2015-12-05 03:47:13 +00:00
GenericFile *getFile(FileDescriptiveEntry fde);
2015-12-01 16:24:51 +00:00
QByteArray getDataFromTrackSectorList(TrackSectorList tsl);
QList<FileDescriptiveEntry> getAllFDEs();
QByteArray fileHash() const { return m_hash; }
2016-10-27 22:46:08 +00:00
QString getDiskImageName() const { return m_imageName; }
2017-06-29 05:21:45 +00:00
QString getFullDiskImageName() const { return m_fullImageName; }
QString getMetaDataPath() const;
2015-12-01 16:24:51 +00:00
private:
QMap< int, QMap< int, Sector> > m_contents;
2015-12-05 03:47:13 +00:00
QMap<FileDescriptiveEntry,GenericFile *> m_files;
QByteArray m_hash;
2015-12-01 16:24:51 +00:00
2016-10-27 22:46:08 +00:00
QString m_imageName;
2017-06-29 05:21:45 +00:00
QString m_fullImageName;
2016-10-31 06:40:58 +00:00
quint8 m_sectors_per_track;
2016-10-27 22:46:08 +00:00
2015-12-01 16:24:51 +00:00
};
#endif // DISKFILE_H