EmuFrontException with a comment.
return numEntries;
}
+
+/* Throws EmuFrontException if filtered data was not found. */
EmuFrontObject* DatabaseManager::getDataObject(int id)
{
filterById(id);
return getFilteredDataObject();
}
+/* Throws EmuFrontException if filtered data was not found. */
EmuFrontObject* DatabaseManager::getDataObject(QString filter)
{
- qDebug() << "Filtering data object" << filter;
QList<QString> filters;
filters.append(filter);
filterDataObjects(filters);
- qDebug() << "...done filtering.";
return getFilteredDataObject();
}
+/* Throws EmuFrontException if filtered data was not found. */
EmuFrontObject* DatabaseManager::getFilteredDataObject()
{
EmuFrontObject *plf = 0;
dbFile = new DbFile(this);
}
+/* Throws EmuFrontException */
EmuFrontObject* DbEmuFrontFileObject::recordToDataObject(const QSqlRecord *record)
{
int id = record->value(EmuFrontFileObject_Id).toInt();
EmuFrontFile *f = 0;
if (fileId > 0)
{
- EmuFrontObject *o = dbFile->getDataObject(fileId);
+ EmuFrontObject *o = dbFile->getDataObject(fileId); /* Throws EmuFrontException */
f = dynamic_cast<EmuFrontFile*>(o);
}
EmuFrontObject *efo = createEmuFrontFileObject(id, name, f);
tableName = DbExecutable::DB_TABLE_EXECUTABLE;
}
+
+/* Throws EmuFrontException */
EmuFrontObject* DbExecutable::recordToDataObject(const QSqlRecord* rec)
{
Executable *ex = 0;
if (!rec) return ex;
int id = rec->value(Executable_Id).toInt();
int supid = rec->value(Executable_SetupId).toInt();
- EmuFrontObject *ob = dbSetup->getDataObject(supid);
+ EmuFrontObject *ob = dbSetup->getDataObject(supid); /* Throws EmuFrontException */
Setup *sup = dynamic_cast<Setup*>(ob);
qDebug() << "Setup id " << sup->getId() << ", platform " << sup->getPlatform()->getName();
QString name = rec->value(Executable_Name).toString();
return model;
}
+/* Throws EmuFrontException */
EmuFrontObject* DbFile::getFileByChecksum(QString checksum)
{
return getDataObject(QString("checksum LIKE '%1'").arg(checksum));
dbSetup = new DbSetup(this);
}
+/* Throws EmuFrontException */
EmuFrontObject* DbFilePath::recordToDataObject(const QSqlRecord *rec)
{
int id = rec->value(FilePath_Id).toInt();
QString fpath = rec->value(FilePath_Name).toString();
int setupId = rec->value(FilePath_SetupId).toInt();
int fileType = rec->value(FilePath_FileTypeId).toInt();
- Setup *sup = dynamic_cast<Setup*>(dbSetup->getDataObject(setupId));
+ Setup *sup = dynamic_cast<Setup*>(dbSetup->getDataObject(setupId)); /* Throws EmuFrontException */
// TODO
//int lastScanned = 0;
return new FilePathObject(id, fpath, fileType, sup);
return false;
}
-
+/* Throws EmuFrontException */
int DbMediaImageContainer::storeMediaImageContainer(EmuFrontObject *efo)
{
MediaImageContainer *mic
);
}
+/* Throws EmuFrontException */
EmuFrontObject* DbMediaImageContainer::recordToDataObject(const QSqlRecord *rec)
{
// TODO: checks!
int size = rec->value(MIC_FileSize).toInt();
int fpId = rec->value(MIC_FilePathId).toInt();
FilePathObject *fpo
- = dynamic_cast<FilePathObject*>(dbFilePath->getDataObject(fpId));
+ = dynamic_cast<FilePathObject*>(dbFilePath->getDataObject(fpId)); /* Throws EmuFrontException */
//int supId = rec->value(MIC_SetupId).toInt();
//Setup *sup = dbSetup->getDataObject(supId)
QMap<QString, EmuFrontObject*> images = dbMediaImage->getMediaImages(id);
}
}
+/* Throws EmuFrontException */
void DbMediaImageContainer::linkMediaImagesWithContainer(int micId, QList<EmuFrontObject*> mediaImages)
{
if (micId < 0 || mediaImages.count() <= 0)
return QString("DELETE FROM file WHERE id=:id");
}
+/* Throws EmuFrontException */
EmuFrontObject* DbMediaImageContainer::getMediaImageContainerByChecksum(QString checksum)
{
return getDataObject(QString("file.checksum LIKE '%1'").arg(checksum));
dbMediaType = new DbMediaType(this);
}
+/* Throws EmuFrontException */
EmuFrontObject* DbSetup::recordToDataObject(const QSqlRecord *rec)
{
Setup *s = 0;
list = extensions.split(FILE_TYPE_EXTENSION_SEPARATOR);
int plfId = rec->value(Setup_PlatformId).toInt();
int mtId = rec->value(Setup_MediaTypeId).toInt();
- Platform *plf = dynamic_cast<Platform*>(dbPlatform->getDataObject(plfId));
- MediaType *mt = dynamic_cast<MediaType*>(dbMediaType->getDataObject(mtId));
+ Platform *plf = dynamic_cast<Platform*>(dbPlatform->getDataObject(plfId)); /* Throws EmuFrontException */
+ MediaType *mt = dynamic_cast<MediaType*>(dbMediaType->getDataObject(mtId)); /* Throws EmuFrontException */
s = new Setup(id, plf, mt, list);
return s;
}
return filterDataObjects(QString("id = %1").arg(id));
}
+/* Throws EmuFrontException */
void DbTableModelManager::filterDataObjects(QString filter)
{
if (!sqlTableModel) sqlTableModel = getDataModel(); // throw EmuFrontException("Data model not available!");
setupComBox->setSelected(su);
}
-Setup* ExecutableEditDialog::getSelectedSetup() const
+Setup* ExecutableEditDialog::getSelectedSetup()
{
- EmuFrontObject *o = setupComBox->getSelected();
+ EmuFrontObject *o = 0;
+ try { o = setupComBox->getSelected(); }
+ catch(EmuFrontException &e){ QMessageBox::warning(this, "Exception", e.what()); }
+
if (!o) return 0;
Setup *ex = dynamic_cast<Setup*>(o);
return ex;
void initWidgets();
void layout();
void setSelectedSetup(const Setup*);
- Setup* getSelectedSetup() const;
+ Setup* getSelectedSetup();
QLineEdit *nameEdit;
QLineEdit *execEdit;
QLineEdit *optEdit;
Setup* MediaImagePathDialog::getSelectedSetup()
{
- EmuFrontObject *ob = setupComBox->getSelected();
+ EmuFrontObject *ob = 0;
+
+ try {
+ ob = setupComBox->getSelected();
+ }
+ catch(EmuFrontException &e){
+ QMessageBox::warning(this, "Exception", e.what());
+ }
+
if (!ob) return 0;
return dynamic_cast<Setup*>(ob);
}
mediaTypeComBox->setSelected(plf);
}
-Platform* SetupEditDialog::getSelectedPlatform() const
+Platform* SetupEditDialog::getSelectedPlatform()
{
- EmuFrontObject *o = platformComBox->getSelected();
+ EmuFrontObject *o = 0;
+ try { o = platformComBox->getSelected(); }
+ catch(EmuFrontException &e){
+ QMessageBox::warning(this, "Exception", e.what());
+ }
+
if (!o) return 0;
Platform *plf = dynamic_cast<Platform*>(o);
return plf;
}
-MediaType* SetupEditDialog::getSelectedMediaType() const
+MediaType* SetupEditDialog::getSelectedMediaType()
{
- EmuFrontObject *o = mediaTypeComBox->getSelected();
+ EmuFrontObject *o = 0;
+ try { o = mediaTypeComBox->getSelected(); }
+ catch(EmuFrontException &e){ QMessageBox::warning(this, "Exception", e.what()); }
if (!o) return 0;
MediaType *mt = dynamic_cast<MediaType*>(o);
return mt;
void layout();
void setSelectedMediaType(const MediaType*);
void setSelectedPlatform(const Platform*);
- MediaType* getSelectedMediaType() const;
- Platform* getSelectedPlatform() const;
+ MediaType* getSelectedMediaType();
+ Platform* getSelectedPlatform();
};
#endif // SETUPEDITDIALOG_H
void EmuLauncher::updateMediaImageContainers()
{
qDebug() << "updateMediaImageContainers slot";
- int mtid = mediaTypeSelectBox->getSelected()
- ? mediaTypeSelectBox->getSelected()->getId()
- : -1;
- int plfid = platformSelectBox->getSelected()
- ? platformSelectBox->getSelected()->getId()
- : -1;
+ int mtid, plfid = -1;
+ try {
+ mtid = mediaTypeSelectBox->getSelected()
+ ? mediaTypeSelectBox->getSelected()->getId()
+ : -1;
+ plfid = platformSelectBox->getSelected()
+ ? platformSelectBox->getSelected()->getId()
+ : -1;
+ }
+ catch(EmuFrontException &e){
+ QMessageBox::warning(this, "Exception", e.what());
+ return;
+ }
if (!dbMic) dbMic = new DbMediaImageContainer(this);
dbMic->filter(mtid, plfid);
int main(int argc, char *argv[])
{
- QApplication app(argc, argv);
+ QApplication app(argc, argv);
QStringList arglst = app.arguments();
bool reset = arglst.contains("reset", Qt::CaseInsensitive);
MainWindow mw;
}
}
+/* Throws EmuFrontException */
void MainWindow::createDB() const
{
try
// TODO: These two launch functions may be merged to one and/or split into some common helper functions.
+/* Throws EmuFrontException */
void EmuHelper::launch(const Executable * ex, QList<MediaImageContainer *> micList)
{
if (micList.count() < 1) {
qDeleteAll(micList);
}
+/* Throws EmuFrontException */
void EmuHelper::launch(const Executable * ex, QList<MediaImageContainer *> micList,
QList<EmuFrontObject *> miList, int mediaCount, QString tmp)
{
}
/* Uses crc32 from zlib.h to count crc32 checksum value */
+/* Throws EmuFrontException */
quint32 FileUtil::readCrc32(QString filePath)
{
// todo ... use some crc32 tool for this ... or maybe use md5 or something like that!!!
{
}
+/* Throws EmuFrontException */
QMap<QString, EmuFrontObject*> UnzipHelper::listContents(const QString filePath, const FilePathObject *fp)
{
if (!fp->getSetup()){
EFComboBox::EFComboBox(DatabaseManager *dbMan, QWidget *parent)
: QComboBox(parent), dbManager(dbMan)
{
- if (!dbManager)
- throw EmuFrontException("Database manager is not available!");
setSizeAdjustPolicy(QComboBox::AdjustToContents);
updateDataModel();
}
setModel(model);
}
+/* Throws EmuFrontException */
EmuFrontObject* EFComboBox::getSelected() const
{
EmuFrontObject *efo = 0;
qDebug() << "Fetching a data object with id "
<< rec.value(dataModelIndex_id).toInt();
EmuFrontObject *o
- = dbManager->getDataObject(rec.value(dataModelIndex_id).toInt());
+ = dbManager->getDataObject(rec.value(dataModelIndex_id).toInt()); /* Throws EmuFrontException */
return o;
}