AppleSAWS/src/binaryfile/binaryfilemetadata.cpp

51 lines
1.3 KiB
C++
Raw Normal View History

#include "binaryfilemetadata.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()
{
QFile infile(QString("%1%2").arg(m_file->filename()).arg(".bfm"));
if (infile.open(QIODevice::ReadOnly))
{
qDebug() << "Loading binary file metadata from" << QString("%1%2").arg(m_file->filename()).arg(".bfm");
QDataStream ds(&infile);
ds >> *m_eps;
ds >> *m_as;
infile.close();
}
else qDebug() << "Cannot open " << QString("%1%2").arg(m_file->filename()).arg(".bfm") << "for reading";
}
2016-10-26 21:44:22 +00:00
void BinaryFileMetadata::save()
{
QFile infile(QString("%1%2").arg(m_file->filename()).arg(".bfm"));
if (infile.open(QIODevice::WriteOnly))
{
qDebug() << "Saving binary file metadata to" << QString("%1%2").arg(m_file->filename()).arg(".bfm");
QDataStream ds(&infile);
ds << *m_eps;
ds << *m_as;
infile.close();
}
else qDebug() << "Cannot open " << QString("%1%2").arg(m_file->filename()).arg(".bfm") << "for writing";
}