Changes in the data model: this is not tested yet at all! (compiles
[emufront] / src / dataobjects / emufrontfileobject.cpp
1 // EmuFront
2 // Copyright 2010 Mikko Keinänen
3 //
4 // This file is part of EmuFront.
5 //
6 //
7 // EmuFront is free software: you can redistribute it and/or modify
8 // it under the terms of the GNU General Public License as published by
9 // the Free Software Foundation, either version 3 of the License, or
10 // (at your option) any later version.
11 //
12 // Foobar is distributed in the hope that it will be useful,
13 // but WITHOUT ANY WARRANTY; without even the implied warranty of
14 // MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
15 // GNU General Public License for more details.
16 //
17 // You should have received a copy of the GNU General Public License
18 // along with Foobar.  If not, see <http://www.gnu.org/licenses/>.
19
20 #include "emufrontfileobject.h"
21
22 EmuFrontFileObject::EmuFrontFileObject()
23     : EmuFrontObject(-1, ""), file(0) { }
24
25 EmuFrontFileObject::EmuFrontFileObject(int id, QString name, EmuFrontFile *file)
26     : EmuFrontObject(id, name), file(file) {}
27
28 EmuFrontFileObject::EmuFrontFileObject(const EmuFrontFileObject &pl)
29     : EmuFrontObject(pl.id, pl.name)
30 {
31     EmuFrontFile *f = pl.file;
32     file = new EmuFrontFile(*f);
33 }
34
35 EmuFrontFileObject::~EmuFrontFileObject()
36 {
37     if (file) delete file;
38 }
39
40 EmuFrontFileObject& EmuFrontFileObject::operator =(const EmuFrontFileObject &ob)
41 {
42     if (this == &ob) return (*this);
43     id = ob.id;
44     name = ob.name;
45     if (file) delete file;
46     EmuFrontFile *f = ob.file;
47     file = new EmuFrontFile(*f);
48     return (*this);
49 }