Added some exception handling. Marked all the functions throwing
[emufront] / src / db / dbmediaimagecontainer.cpp
index e91edda..738fd19 100644 (file)
@@ -41,14 +41,14 @@ bool DbMediaImageContainer::updateDataObjectToModel(const EmuFrontObject *efo)
     return false;
 }
 
-
+/* Throws EmuFrontException */
 int DbMediaImageContainer::storeMediaImageContainer(EmuFrontObject *efo)
 {
     MediaImageContainer *mic
         = dynamic_cast<MediaImageContainer *>(efo);
 
     if (!mic->getFilePath())
-        throw new EmuFrontException("Cannot install media image "
+        throw EmuFrontException("Cannot install media image "
             "container to database without a file path object!");
 
     // multiple media image containers with matching checksum will be stored
@@ -82,7 +82,7 @@ int DbMediaImageContainer::storeMediaImageContainer(EmuFrontObject *efo)
             // in the calling code block and clean
             // all the media image and ...containers from
             // the memory!
-            throw new EmuFrontException(
+            throw EmuFrontException(
                     QString(tr("Inserting media image container %1 to file database failed"))
                     .arg(mic->getName()));
         }
@@ -91,7 +91,7 @@ int DbMediaImageContainer::storeMediaImageContainer(EmuFrontObject *efo)
 
         if (!linkMediaImageContainerToPath(mic)){
             DbFile::deleteDataObject(fileId);
-            throw new EmuFrontException("Failed inserting media image to database!");
+            throw EmuFrontException("Failed inserting media image to database!");
         }
         //qDebug() << "Inserted media image container " << fileId << " to mediaimagecontainer table.";
         linkMediaImagesWithContainer(fileId, images.values());
@@ -143,6 +143,7 @@ QString DbMediaImageContainer::constructSelectById(int id) const
         );
 }
 
+/* Throws EmuFrontException */
 EmuFrontObject* DbMediaImageContainer::recordToDataObject(const QSqlRecord *rec)
 {
     // TODO: checks!
@@ -154,7 +155,7 @@ EmuFrontObject* DbMediaImageContainer::recordToDataObject(const QSqlRecord *rec)
     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);
@@ -213,6 +214,7 @@ void DbMediaImageContainer::storeContainers(QList<MediaImageContainer *> lst, Fi
     }
 }
 
+/* Throws EmuFrontException */
 void DbMediaImageContainer::linkMediaImagesWithContainer(int micId, QList<EmuFrontObject*> mediaImages)
 {
     if (micId < 0 || mediaImages.count() <= 0)
@@ -224,7 +226,7 @@ void DbMediaImageContainer::linkMediaImagesWithContainer(int micId, QList<EmuFro
         /*qDebug() << "Linking media image container " << micId
             << " to media image " << mi->getId()  << ", " << mi->getName() << ".";*/
         if (!linkMediaImageToMediaImageContainer(mi, micId)) {
-                throw new EmuFrontException(QString("Failed linking media "
+                throw EmuFrontException(QString("Failed linking media "
                                                     "image container %1 to a media image %2").arg(micId).arg(mi->getId()));
         }
     }
@@ -271,6 +273,7 @@ QString DbMediaImageContainer::getDeleteObjectSql() const
        return QString("DELETE FROM file WHERE id=:id");
 }
 
+/* Throws EmuFrontException */
 EmuFrontObject* DbMediaImageContainer::getMediaImageContainerByChecksum(QString checksum)
 {
     return getDataObject(QString("file.checksum LIKE '%1'").arg(checksum));