93f3da802d30866992f2ac048174ea3ffb0ffe18
[emufront] / src / dataobjects / filepathobject.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 version 2 as published by
9 // the Free Software Foundation and appearing in the file gpl.txt included in the
10 // packaging of this file.
11 //
12 // EmuFront 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 EmuFront.  If not, see <http://www.gnu.org/licenses/>.
19
20 #include <QDebug>
21 #include "filepathobject.h"
22 #include "setup.h"
23
24 FilePathObject::FilePathObject() : EmuFrontObject(), setup(0)
25 { }
26
27 FilePathObject::FilePathObject(int id, QString name, int filetype)
28     : EmuFrontObject(id, name), type(filetype), setup(0) {}
29
30  FilePathObject::FilePathObject(int id, QString name, int filetype, Setup *setup)
31     : EmuFrontObject(id, name), type(filetype), setup(setup) {}
32
33 FilePathObject::~FilePathObject()
34 {
35     if (setup) delete setup;
36 }
37
38 FilePathObject::FilePathObject(const FilePathObject &fpobj)
39     : EmuFrontObject(fpobj), type(fpobj.type)
40 {
41     qDebug() << "FilePathObject copy constructor.";
42     Setup *s = fpobj.setup;
43     qDebug() << "Setup name " << s->getName();
44     qDebug() << "Setup id " << s->getId();
45     setup = new Setup(*s);
46 }
47
48 FilePathObject& FilePathObject::operator =(const FilePathObject &fpobj)
49 {
50     if (this == &fpobj) return *this;
51     id = fpobj.id;
52     name = fpobj.name;
53     type = fpobj.type;
54     if (setup) delete setup;
55     Setup *sup = fpobj.setup;
56     setup = new Setup(*sup);
57     return (*this);
58 }
59
60 Setup* FilePathObject::getSetup() const
61 { return setup; }
62 void FilePathObject::setSetup(Setup *sup)
63 { setup = sup; }
64
65 int FilePathObject::getType() const
66 { return type; }
67 void FilePathObject::setType(int t)
68 { type = t; }