Removed destructor from Platform since EmuFrontFileObject destructor
[emufront] / src / dataobjects / emufrontfileobject.cpp
index be7b46b..7928aac 100644 (file)
@@ -5,35 +5,48 @@
 //
 //
 // EmuFront is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
+// it under the terms of the GNU General Public License version 2 as published by
+// the Free Software Foundation and appearing in the file gpl.txt included in the
+// packaging of this file.
 //
-// Foobar is distributed in the hope that it will be useful,
+// EmuFront is distributed in the hope that it will be useful,
 // but WITHOUT ANY WARRANTY; without even the implied warranty of
 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 // GNU General Public License for more details.
 //
 // You should have received a copy of the GNU General Public License
-// along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
+// along with EmuFront.  If not, see <http://www.gnu.org/licenses/>.
 
 #include "emufrontfileobject.h"
+#include <QDebug>
 
-EmuFrontFileObject::EmuFrontFileObject() : EmuFrontObject()
-{ }
+EmuFrontFileObject::EmuFrontFileObject()
+    : EmuFrontObject(-1, ""), file(0) { }
 
-EmuFrontFileObject::EmuFrontFileObject(int id, QString name, QString filename)
-    : EmuFrontObject(id, name), filename(filename), filetype(0)
-{}
+EmuFrontFileObject::EmuFrontFileObject(int id, QString name, EmuFrontFile *file)
+    : EmuFrontObject(id, name), file(file) {}
 
-EmuFrontFileObject::EmuFrontFileObject(int id, QString name, QString filename, int filetype)
-    : EmuFrontObject(id, name), filename(filename), filetype(filetype)
-{}
+EmuFrontFileObject::EmuFrontFileObject(const EmuFrontFileObject &pl)
+    : EmuFrontObject(pl)
+{
+    EmuFrontFile *f = pl.file;
+    file = f ? new EmuFrontFile(*f) : 0;
+}
 
+EmuFrontFileObject::~EmuFrontFileObject()
+{
+    qDebug() << "EmuFrontFileObject " << name << " dying";
+    if (file) qDebug() << "File " << file->getName() << " will also be deleted.";
+    delete file;
+}
 
-/*EmuFrontFileObject::EmuFrontFileObject(const EmuFrontFileObject&pl)
-    : EmuFrontObject(pl.id, pl.name), filename(pl.filename)
+EmuFrontFileObject& EmuFrontFileObject::operator =(const EmuFrontFileObject &ob)
 {
-    // no need to perform deep copy here, see:
-    // http://doc.trolltech.com/4.0/shclass.html
-}*/
+    if (this == &ob) return (*this);
+    id = ob.id;
+    name = ob.name;
+    delete file;
+    EmuFrontFile *f = ob.file;
+    file = new EmuFrontFile(*f);
+    return (*this);
+}