AppleSAWS/src/binaryfile/binaryfilemetadata.cpp

69 lines
2.0 KiB
C++
Raw Normal View History

#include "binaryfilemetadata.h"
2017-06-29 05:21:45 +00:00
#include "genericfile.h"
#include <QFile>
#include <QDataStream>
#include <QDebug>
2016-10-26 21:44:22 +00:00
BinaryFileMetadata::BinaryFileMetadata(GenericFile *file, quint16 defaultAddress, QObject *parent)
: QObject(parent)
{
2016-10-26 21:44:22 +00:00
m_file = file;
m_defaultAddress = defaultAddress;
2016-10-26 21:44:22 +00:00
m_eps = new EntryPoints(this);
m_as = new AssemblerSymbols(this);
2016-10-26 21:44:22 +00:00
load();
}
2016-10-26 21:44:22 +00:00
void BinaryFileMetadata::load()
{
2017-06-29 05:21:45 +00:00
QFile infile(QString("%1%2%3")
.arg(m_file->diskFile()->getMetaDataPath())
.arg(m_file->filename())
.arg(".bfm"));
if (infile.open(QIODevice::ReadOnly))
{
2017-06-29 05:21:45 +00:00
qDebug() << "Loading binary file metadata from" << QString("%1%2%3")
.arg(m_file->diskFile()->getMetaDataPath())
.arg(m_file->filename())
.arg(".bfm");
QDataStream ds(&infile);
ds >> *m_eps;
ds >> *m_as;
infile.close();
}
2017-06-29 05:21:45 +00:00
else qDebug() << "Cannot open " << QString("%1%2%3")
.arg(m_file->diskFile()->getMetaDataPath())
.arg(m_file->filename())
.arg(".bfm") << "for reading";
}
2016-10-26 21:44:22 +00:00
void BinaryFileMetadata::save()
{
2017-06-29 05:21:45 +00:00
QFile outfile(QString("%1%2%3")
.arg(m_file->diskFile()->getMetaDataPath())
.arg(m_file->filename())
.arg(".bfm"));
if (outfile.open(QIODevice::WriteOnly))
{
2017-06-29 05:21:45 +00:00
qDebug() << "Saving binary file metadata to" << QString("%1%2%3")
.arg(m_file->diskFile()->getMetaDataPath())
.arg(m_file->filename())
.arg(".bfm");
QDataStream ds(&outfile);
ds << *m_eps;
ds << *m_as;
2017-06-29 05:21:45 +00:00
outfile.close();
}
2017-06-29 05:21:45 +00:00
else qDebug() << "Cannot open " << QString("%1%2%3")
.arg(m_file->diskFile()->getMetaDataPath())
.arg(m_file->filename())
.arg(".bfm") << "for writing";
}