9 * Initial Contributors: |
9 * Initial Contributors: |
10 * Nokia Corporation - initial contribution. |
10 * Nokia Corporation - initial contribution. |
11 * |
11 * |
12 * Contributors: |
12 * Contributors: |
13 * |
13 * |
14 * Description: VideoListData class declaration* |
14 * Description: VideoDataContainer class declaration* |
15 */ |
15 */ |
16 |
16 |
|
17 // Version : %version: % |
|
18 |
|
19 // INCLUDE FILES |
17 #include <mpxmediageneraldefs.h> |
20 #include <mpxmediageneraldefs.h> |
18 #include <mpxmedia.h> |
21 #include <mpxmedia.h> |
19 #include <vcxmyvideosdefs.h> |
22 #include <vcxmyvideosdefs.h> |
|
23 |
20 #include "videodatacontainer.h" |
24 #include "videodatacontainer.h" |
21 #include "videocollectionutils.h" |
25 #include "videocollectionutils.h" |
|
26 #include "videocollectiontrace.h" |
22 |
27 |
23 /** |
28 /** |
24 * global qHash function required fo creating hash values for TMPXItemId -keys |
29 * global qHash function required fo creating hash values for TMPXItemId -keys |
25 */ |
30 */ |
26 inline uint qHash(TMPXItemId key) |
31 inline uint qHash(TMPXItemId key) |
28 QPair<uint, uint> keyPair(key.iId1, key.iId2); |
33 QPair<uint, uint> keyPair(key.iId1, key.iId2); |
29 |
34 |
30 return qHash(keyPair); |
35 return qHash(keyPair); |
31 } |
36 } |
32 |
37 |
33 |
|
34 // ----------------------------------------------------------------------------- |
38 // ----------------------------------------------------------------------------- |
35 // VideoDataContainer |
39 // VideoDataContainer |
36 // ----------------------------------------------------------------------------- |
40 // ----------------------------------------------------------------------------- |
37 // |
41 // |
38 VideoDataContainer::VideoDataContainer() |
42 VideoDataContainer::VideoDataContainer() |
39 { |
43 { |
40 // NOP |
44 FUNC_LOG; |
41 } |
45 } |
42 |
46 |
43 // ----------------------------------------------------------------------------- |
47 // ----------------------------------------------------------------------------- |
44 // VideoDataContainer |
48 // VideoDataContainer |
45 // ----------------------------------------------------------------------------- |
49 // ----------------------------------------------------------------------------- |
46 // |
50 // |
47 VideoDataContainer::~VideoDataContainer() |
51 VideoDataContainer::~VideoDataContainer() |
48 { |
52 { |
|
53 FUNC_LOG; |
49 clear(); |
54 clear(); |
50 clearRemoved(); |
55 clearRemoved(); |
51 } |
56 } |
52 |
57 |
53 // ----------------------------------------------------------------------------- |
58 // ----------------------------------------------------------------------------- |
54 // clear |
59 // clear |
55 // ----------------------------------------------------------------------------- |
60 // ----------------------------------------------------------------------------- |
56 // |
61 // |
57 void VideoDataContainer::clear() |
62 void VideoDataContainer::clear() |
58 { |
63 { |
|
64 FUNC_LOG; |
59 QHash<TMPXItemId, QPair<int, CMPXMedia*> >::iterator i = mMediaData.begin(); |
65 QHash<TMPXItemId, QPair<int, CMPXMedia*> >::iterator i = mMediaData.begin(); |
60 while(i != mMediaData.end()) |
66 while(i != mMediaData.end()) |
61 { |
67 { |
62 delete (*i).second; |
68 delete (*i).second; |
63 ++i; |
69 ++i; |
99 if(mediaId == TMPXItemId::InvalidId()) |
105 if(mediaId == TMPXItemId::InvalidId()) |
100 { |
106 { |
101 // could not get id or id does not match ==> NOP |
107 // could not get id or id does not match ==> NOP |
102 return; |
108 return; |
103 } |
109 } |
|
110 |
104 QHash<TMPXItemId, QPair<int, CMPXMedia*> >::iterator iter = mMediaData.find(mediaId); |
111 QHash<TMPXItemId, QPair<int, CMPXMedia*> >::iterator iter = mMediaData.find(mediaId); |
105 // if item is in the removal list, not allowed to append |
112 // if item is in the removal list, not allowed to append |
106 if(mRemovedMedia.contains(mediaId)) |
113 if(mRemovedMedia.contains(mediaId)) |
107 { |
114 { |
108 delete media; |
115 delete media; |
257 // restoreRemovedItems |
263 // restoreRemovedItems |
258 // ----------------------------------------------------------------------------- |
264 // ----------------------------------------------------------------------------- |
259 // |
265 // |
260 int VideoDataContainer::restoreRemovedItems(QList<TMPXItemId> *itemIds) |
266 int VideoDataContainer::restoreRemovedItems(QList<TMPXItemId> *itemIds) |
261 { |
267 { |
|
268 FUNC_LOG; |
262 |
269 |
263 int count = 0; |
270 int count = 0; |
264 QList<TMPXItemId> ids; |
271 QList<TMPXItemId> ids; |
265 |
272 |
266 QList<TMPXItemId>::const_iterator iterEnd; |
273 QList<TMPXItemId>::const_iterator iterEnd; |
280 iter = mRemovedMedia.find((*idIter)); |
287 iter = mRemovedMedia.find((*idIter)); |
281 if(iter != mRemovedMedia.constEnd() && !mMediaData.contains(iter.key())) |
288 if(iter != mRemovedMedia.constEnd() && !mMediaData.contains(iter.key())) |
282 { |
289 { |
283 // append data to actual containers and remove item from deleted hash |
290 // append data to actual containers and remove item from deleted hash |
284 mMediaIds.append(iter.key()); |
291 mMediaIds.append(iter.key()); |
285 mMediaData[iter.key()] = qMakePair(mMediaIds.count() - 1, iter.value()); |
292 mMediaData[iter.key()] = qMakePair(mMediaIds.count() - 1, iter.value()); |
286 mRemovedMedia.remove((*idIter)); |
293 mRemovedMedia.remove((*idIter)); |
287 count++; |
294 count++; |
288 } |
295 } |
289 ++idIter; |
296 ++idIter; |
290 } |
297 } |