videocollection/videocollectionwrapper/src/videodatacontainer.cpp
changeset 36 8aed59de29f9
parent 34 bbb98528c666
child 28 c48470be1ba7
equal deleted inserted replaced
35:3738fe97f027 36:8aed59de29f9
     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;
   129     {   
   136     {   
   130         return (mMediaData.find(mMediaIds[index]))->second;
   137         return (mMediaData.find(mMediaIds[index]))->second;
   131     }
   138     }
   132     return 0;  
   139     return 0;  
   133 }
   140 }
   134    
       
   135  
   141  
   136 // -----------------------------------------------------------------------------
   142 // -----------------------------------------------------------------------------
   137 // indexOfId
   143 // indexOfId
   138 // -----------------------------------------------------------------------------
   144 // -----------------------------------------------------------------------------
   139 //
   145 //
   142     QHash<TMPXItemId, QPair<int, CMPXMedia*> >::const_iterator iter = mMediaData.find(id);
   148     QHash<TMPXItemId, QPair<int, CMPXMedia*> >::const_iterator iter = mMediaData.find(id);
   143     if( iter != mMediaData.constEnd())
   149     if( iter != mMediaData.constEnd())
   144     {
   150     {
   145         return iter->first;
   151         return iter->first;
   146     }
   152     }
   147     
       
   148     return -1;
   153     return -1;
   149 }
   154 }
   150 
   155 
   151 // -----------------------------------------------------------------------------
   156 // -----------------------------------------------------------------------------
   152 // idFromIndex
   157 // idFromIndex
   223 // clearRemoved
   228 // clearRemoved
   224 // -----------------------------------------------------------------------------
   229 // -----------------------------------------------------------------------------
   225 //
   230 //
   226 int VideoDataContainer::clearRemoved(QList<TMPXItemId> *itemIds)
   231 int VideoDataContainer::clearRemoved(QList<TMPXItemId> *itemIds)
   227 {
   232 {
       
   233 	FUNC_LOG;
   228     int count = 0;
   234     int count = 0;
   229     QList<TMPXItemId> ids;
   235     QList<TMPXItemId> ids;
   230 
   236 
   231     QList<TMPXItemId>::const_iterator iterEnd;
   237     QList<TMPXItemId>::const_iterator iterEnd;
   232     if(!itemIds)
   238     if(!itemIds)
   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     }    
   301                                             mRemovedMedia.constFind(itemId);
   308                                             mRemovedMedia.constFind(itemId);
   302     if(itemIter != mRemovedMedia.constEnd())
   309     if(itemIter != mRemovedMedia.constEnd())
   303     {
   310     {
   304         return itemIter.value();
   311         return itemIter.value();
   305     }
   312     }
   306    return 0;
   313     return 0;
   307 }
   314 }
   308 
   315 
   309 // end of file
   316 // end of file