[nostalgia/studio] Replace int errors with ox::Error
This commit is contained in:
parent
3c45558dfc
commit
8cd38dccbf
@ -29,7 +29,7 @@ void Project::create() {
|
|||||||
QDir().mkpath(m_path);
|
QDir().mkpath(m_path);
|
||||||
}
|
}
|
||||||
|
|
||||||
int Project::openRomFs() {
|
ox::Error Project::openRomFs() {
|
||||||
QFile file(m_path + ROM_FILE);
|
QFile file(m_path + ROM_FILE);
|
||||||
auto buffSize = file.size();
|
auto buffSize = file.size();
|
||||||
auto buff = std::make_unique<uint8_t[]>(buffSize);
|
auto buff = std::make_unique<uint8_t[]>(buffSize);
|
||||||
@ -38,20 +38,20 @@ int Project::openRomFs() {
|
|||||||
if (file.read(reinterpret_cast<char*>(buff.get()), buffSize) > 0) {
|
if (file.read(reinterpret_cast<char*>(buff.get()), buffSize) > 0) {
|
||||||
m_fsBuff = std::move(buff);
|
m_fsBuff = std::move(buff);
|
||||||
if (m_fs.valid()) {
|
if (m_fs.valid()) {
|
||||||
return 0;
|
return OxError(0);
|
||||||
} else {
|
} else {
|
||||||
return 1;
|
return OxError(1);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return 2;
|
return OxError(2);
|
||||||
}
|
}
|
||||||
} else {
|
} else {
|
||||||
return 3;
|
return OxError(3);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
int Project::saveRomFs() const {
|
ox::Error Project::saveRomFs() const {
|
||||||
int err = 0;
|
ox::Error err(0);
|
||||||
//QFile file(m_path + ROM_FILE);
|
//QFile file(m_path + ROM_FILE);
|
||||||
//err |= file.open(QIODevice::WriteOnly) == false;
|
//err |= file.open(QIODevice::WriteOnly) == false;
|
||||||
//err |= file.write((const char*) m_fsBuff.get(), m_fs.size()) == -1;
|
//err |= file.write((const char*) m_fsBuff.get(), m_fs.size()) == -1;
|
||||||
@ -63,20 +63,20 @@ PassThroughFS *Project::romFs() {
|
|||||||
return &m_fs;
|
return &m_fs;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Project::mkdir(QString path) const {
|
ox::Error Project::mkdir(QString path) const {
|
||||||
auto err = m_fs.mkdir(path.toUtf8().data(), true);
|
auto err = m_fs.mkdir(path.toUtf8().data(), true);
|
||||||
emit updated(path);
|
emit updated(path);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
int Project::write(QString path, uint8_t *buff, size_t buffLen) const {
|
ox::Error Project::write(QString path, uint8_t *buff, size_t buffLen) const {
|
||||||
auto err = m_fs.write(path.toUtf8().data(), buff, buffLen);
|
auto err = m_fs.write(path.toUtf8().data(), buff, buffLen);
|
||||||
emit updated(path);
|
emit updated(path);
|
||||||
return err;
|
return err;
|
||||||
}
|
}
|
||||||
|
|
||||||
ox::FileStat Project::stat(QString path) const {
|
ox::ValErr<ox::FileStat> Project::stat(QString path) const {
|
||||||
return m_fs.stat(path.toUtf8().data()).value;
|
return m_fs.stat(path.toUtf8().data());
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
@ -35,23 +35,23 @@ class Project: public QObject {
|
|||||||
|
|
||||||
void create();
|
void create();
|
||||||
|
|
||||||
int openRomFs();
|
ox::Error openRomFs();
|
||||||
|
|
||||||
int saveRomFs() const;
|
ox::Error saveRomFs() const;
|
||||||
|
|
||||||
ox::PassThroughFS *romFs();
|
ox::PassThroughFS *romFs();
|
||||||
|
|
||||||
int mkdir(QString path) const;
|
ox::Error mkdir(QString path) const;
|
||||||
|
|
||||||
int write(QString path, uint8_t *buff, size_t buffLen) const;
|
ox::Error write(QString path, uint8_t *buff, size_t buffLen) const;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Writes a MetalClaw object to the project at the given path.
|
* Writes a MetalClaw object to the project at the given path.
|
||||||
*/
|
*/
|
||||||
template<typename T>
|
template<typename T>
|
||||||
int writeObj(QString path, T *obj) const;
|
ox::Error writeObj(QString path, T *obj) const;
|
||||||
|
|
||||||
ox::FileStat stat(QString path) const;
|
ox::ValErr<ox::FileStat> stat(QString path) const;
|
||||||
|
|
||||||
signals:
|
signals:
|
||||||
void updated(QString path) const;
|
void updated(QString path) const;
|
||||||
@ -59,27 +59,19 @@ class Project: public QObject {
|
|||||||
};
|
};
|
||||||
|
|
||||||
template<typename T>
|
template<typename T>
|
||||||
int Project::writeObj(QString path, T *obj) const {
|
ox::Error Project::writeObj(QString path, T *obj) const {
|
||||||
int err = 0;
|
|
||||||
auto buffLen = 1024 * 1024 * 10;
|
auto buffLen = 1024 * 1024 * 10;
|
||||||
QByteArray buff(buffLen, 0);
|
QByteArray buff(buffLen, 0);
|
||||||
|
|
||||||
// write MetalClaw
|
// write MetalClaw
|
||||||
size_t mcSize = 0;
|
size_t mcSize = 0;
|
||||||
err |= ox::writeMC(reinterpret_cast<uint8_t*>(buff.data()), buffLen, obj, &mcSize);
|
oxReturnError(ox::writeMC(reinterpret_cast<uint8_t*>(buff.data()), buffLen, obj, &mcSize));
|
||||||
if (err) {
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
// write to FS
|
// write to FS
|
||||||
err |= write(path, reinterpret_cast<uint8_t*>(buff.data()), mcSize);
|
oxReturnError(write(path, reinterpret_cast<uint8_t*>(buff.data()), mcSize));
|
||||||
if (err) {
|
|
||||||
return err;
|
|
||||||
}
|
|
||||||
|
|
||||||
emit updated(path);
|
emit updated(path);
|
||||||
|
|
||||||
return err;
|
return OxError(0);
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user