The Fib multimedia system
Fib is a system for storing multimedia data (like images or films).
Main Page
Namespaces
Classes
Files
File List
File Members
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
cMultimediaInfo.h
Go to the documentation of this file.
1
/**
2
* @class cMultimediaInfo
3
* file name: cMultimediaInfo.h
4
* @author Betti Oesterholz
5
* @date 21.06.2009
6
* @mail webmaster@BioKom.info
7
*
8
* System: C++
9
*
10
* This class represents the multimediainfo of an root -element.
11
* Copyright (C) @c LGPL3 2009 Betti Oesterholz
12
*
13
* This program is free software: you can redistribute it and/or modify
14
* it under the terms of the GNU Lesser General Public License (LGPL) as
15
* published by the Free Software Foundation, either version 3 of the
16
* License, or any later version.
17
*
18
* This program is distributed in the hope that it will be useful,
19
* but WITHOUT ANY WARRANTY; without even the implied warranty of
20
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
21
* GNU Lesser General Public License for more details.
22
*
23
* You should have received a copy of the GNU Lesser General Public License
24
* along with this program. If not, see <http://www.gnu.org/licenses/>.
25
*
26
*
27
* This class represents the multimediainfo for an root -element.
28
* This includes the versionsnumbers of Fib and the Fib -Database.
29
*
30
*/
31
/*
32
History:
33
21.06.2009 Oesterholz created
34
21.12.2012 Oesterholz virtual destructor added
35
*/
36
37
#ifndef ___C_MULTIMEDIA_INFO_H__
38
#define ___C_MULTIMEDIA_INFO_H__
39
40
41
#include "version.h"
42
43
#include "
fibDatatyps.h
"
44
45
#include "tinyxml.h"
46
47
#include <string>
48
#include <ostream>
49
50
using
std::string;
51
using
std::ostream;
52
53
54
namespace
fib{
55
56
class
cRoot
;
//cyclic dependencies
57
58
class
cMultimediaInfo
{
59
60
friend
class
cRoot
;
61
62
protected
:
63
64
65
/**
66
* The version of the Fib -multimedialanguage needed for the
67
* Fib -multimediaobject.
68
* The value 0 means the version of the Fib -multimedialanguage is
69
* irrelevant.
70
*/
71
unsignedLongFib
ulFibVersion
;
72
73
/**
74
* The version of the Fib -database needed for the Fib -multimediaobject.
75
* The value 0 means the version of the Fib -database is irrelevant.
76
*/
77
unsignedLongFib
ulFibDbVersion
;
78
79
/**
80
* the pointer to the root object which uses this cMultimediaInfo
81
*/
82
cRoot
*
masterRoot
;
83
84
85
86
#ifdef TEST
87
public
:
//make the following constructor public for the test
88
#endif
89
90
/**
91
* The constructor for the multimediainfo.
92
* The defaultmapping for the dimension i is the mappingvalue i.
93
*
94
* @param root the root -element this multimediainfo stands in/for
95
*/
96
cMultimediaInfo
(
cRoot
* root);
97
98
/**
99
* The destructor for the multimediainfo.
100
*/
101
virtual
~cMultimediaInfo
();
102
103
/**
104
* This Method clones this object.
105
*
106
* @return a clone of this object
107
*/
108
virtual
cMultimediaInfo
*
clone
()
const
;
109
110
111
public
:
112
113
/**
114
* @return the version of the Fib -multimedialanguage needed for the
115
* Fib -multimediaobject
116
*/
117
unsignedLongFib
getFibVersion
()
const
;
118
119
120
/**
121
* @param ulFibVersion the version of the Fib -multimedialanguage to set
122
*/
123
void
setFibVersion
(
unsignedLongFib
ulFibVersion
);
124
125
126
/**
127
* @return the version of the Fib -database needed for the
128
* Fib -multimediaobject
129
*/
130
unsignedLongFib
getDatabaseVersion
()
const
;
131
132
133
/**
134
* @param ulFibVersion the version of the Fib -database to set
135
*/
136
void
setDatabaseVersion
(
unsignedLongFib
ulFibDbVersion
);
137
138
139
/**
140
* This method evalues and sets the Fib -multimedialanguage and
141
* Fib -database versionnumbers, which are needed for the Fib -object.
142
*
143
* @return true if the versionsnumbers where evalued and set
144
*/
145
bool
evalueMinVersionsNumbers
();
146
147
/**
148
* This Method checks if the given multimedianfo is equal to this
149
* multimedianfo.
150
*
151
* @param multimediaInfo the multimedianfo which should be equal to this
152
* multimedianfo
153
* @return true if the given multimedianfo is equal to this
154
* multimedianfo, else false
155
*/
156
virtual
bool
equal
(
const
cMultimediaInfo
&multimediaInfo )
const
;
157
158
/**
159
* This Method checks if the given multimedianfo is equal to this
160
* multimedianfo.
161
*
162
* @param multimediaInfo the multimedianfo which should be equal to this
163
* multimedianfo
164
* @return true if the given multimedianfo is equal to this
165
* multimedianfo, else false
166
*/
167
virtual
bool
operator==
(
const
cMultimediaInfo
& multimediaInfo)
const
;
168
169
/**
170
* This method stores this multimediainfo in the XML -format into the
171
* given stream.
172
* example: <multimedia_info fib_version="1" db_version="0"/>
173
*
174
* @param ostream the stream where this multimediainfo should be stored to
175
* @return true if this multimediainfo is stored, else false
176
*/
177
virtual
bool
storeXml
( ostream & ostream )
const
;
178
179
180
/**
181
* This method restores this multimediainfo in the XML -format from an
182
* an TinyXml element.
183
*
184
* @param pXmlNode a pointer to the TinyXml node the multimediainfo is stored in
185
* @return an integervalue with the errorvalue
186
* possible errorvalues are:
187
* - 0 loading successful
188
* - -1 loading error, invalid pXmlElement
189
* - -2 loading error, invalid data in pXmlElement
190
* - 1 loading warning, invalid data in pXmlElement, error could be corrected
191
* - 2 loading warning, invalid data in pXmlElement, maybe the loaded
192
* object is wrong
193
*/
194
virtual
intFib
restoreXml
(
const
TiXmlElement * pXmlElement );
195
196
};
//end class cMultimediaInfo
197
198
199
}
//end namespace fib
200
201
#endif //___C_MULTIMEDIA_INFO_H__
fib
incl
cMultimediaInfo.h
Generated on Thu Feb 14 2013 14:06:56 for The Fib multimedia system by
1.8.1