Implementing MediaImage and MediaImageContainer (WIP ... will not
[emufront] / src / dataobjects / mediaimagecontainer.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 // 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 "mediaimagecontainer.h"
21
22 MediaImageContainer::MediaImageContainer()
23     : EmuFrontFile(EmuFrontFile::FileType_MediaImageContainer)
24 {
25     lstMediaImage = QList<MediaImage*>();
26 }
27
28 MediaImageContainer::MediaImageContainer(int id, QString name, QString checksum, int size, QList<MediaImage *>images)
29     : EmuFrontFile(id, name, checksum, size, EmuFrontFile::FileType_MediaImageContainer)
30 {
31     lstMediaImage = QList<MediaImage*>();
32 }
33
34 MediaImageContainer::MediaImageContainer(QString name, QString checksum, int size, QList<MediaImage *>images)
35     : EmuFrontFile(-1, name, checksum, size, EmuFrontFile::FileType_MediaImageContainer)
36 {
37     lstMediaImage = QList<MediaImage*>();
38 }
39
40 MediaImageContainer::~MediaImageContainer()
41 {
42     qDeleteAll(lstMediaImage);
43 }
44
45 MediaImageContainer::MediaImageContainer(MediaImageContainer &mic)
46     : EmuFrontFile(mic.id, mic.name, mic.checkSum, mic.size, mic.type)
47 {
48     lstMediaImage = QList<MediaImage*>();
49     foreach(MediaImage *mi, mic.lstMediaImage)
50         lstMediaImage.append(new MediaImage(mi));
51 }
52
53 MediaImageContainer& MediaImageContainer::operator =(MediaImageContainer &mic)
54 {
55      if (this == &mic) return *this;
56     id = mic.id;
57     name = mic.name;
58     type = mic.type;
59     checkSum = mic.checkSum;
60     size = mic.size;
61     qDeleteAll(lstMediaImage);
62     foreach(MediaImage *mi, mic)
63         lstMediaImage.append(new MediaImage(mi));
64     return (*this);
65 }
66
67 void MediaImageContainer::setMediaImages(QList<MediaImage *> list)
68 {
69     qDeleteAll(lstMediaImage);
70     lstMediaImage = list;
71 }
72
73 void MediaImageContainer::addMediaImage(MediaImage *mi)
74 {   lstMediaImage.append(mi); }