Changes in the data model: this is not tested yet at all! (compiles
[emufront] / src / dataobjects / emufrontfileobject.cpp
index be7b46b..ca7ca4d 100644 (file)
 
 #include "emufrontfileobject.h"
 
-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.id, pl.name)
+{
+    EmuFrontFile *f = pl.file;
+    file = new EmuFrontFile(*f);
+}
 
+EmuFrontFileObject::~EmuFrontFileObject()
+{
+    if (file) 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;
+    if (file) delete file;
+    EmuFrontFile *f = ob.file;
+    file = new EmuFrontFile(*f);
+    return (*this);
+}