serviceproviders/sapi_mediamanagement/src/mgitemslist.cpp
changeset 33 50974a8b132e
parent 19 989d2f495d90
equal deleted inserted replaced
32:8d692d9f828f 33:50974a8b132e
    14 * Description:  Implements CLiwIterable type
    14 * Description:  Implements CLiwIterable type
    15 *
    15 *
    16 */
    16 */
    17 
    17 
    18 
    18 
    19 #include <mclfitem.h>
    19 #include <MCLFItem.h>
    20 #include <mclfitemlistmodel.h>
    20 #include <MCLFItemListModel.h>
    21 
    21 
    22 #include "mgitemslist.h"
    22 #include "mgitemslist.h"
    23 #include "mgmediaitemfactory.h"
    23 #include "mgmediaitemfactory.h"
    24 #include "mgmediaitem.h"
    24 #include "mgmediaitem.h"
       
    25 #include "mgclfoperationobserver.h"
    25 
    26 
    26 
    27 
    27 _LIT8( KMgFileNameAndPath, "FileNameAndPath" );
    28 _LIT8( KMgFileNameAndPath, "FileNameAndPath" );
    28 
    29 
    29 const TInt KStartItemIndex = -1;
    30 const TInt KStartItemIndex = -1;
    32 // CMgItemsList::CMgItemsList
    33 // CMgItemsList::CMgItemsList
    33 // Parameterised constructor
    34 // Parameterised constructor
    34 // ---------------------------------------------------------------------------
    35 // ---------------------------------------------------------------------------
    35 //
    36 //
    36 
    37 
    37 CMgItemsList::CMgItemsList( MCLFItemListModel* aItemListModel, TMgCmdId aCmdId )
    38 CMgItemsList::CMgItemsList( MCLFItemListModel* aItemListModel, CClfOperationObserver* aOperationObserver, TMgCmdId aCmdId )
    38             : iItemListModel(aItemListModel),
    39             : iItemListModel(aItemListModel),
       
    40               iOperationObserver(aOperationObserver),
    39             	iCmdId(aCmdId),
    41             	iCmdId(aCmdId),
    40               iCount(iItemListModel->ItemCount()),
    42               iCount(iItemListModel->ItemCount()),
    41               iCurrent(KStartItemIndex),
    43               iCurrent(KStartItemIndex),
    42   						iMediaItem(NULL)
    44   						iMediaItem(NULL)
    43     {
    45     {
    47 // CMgItemsList::NewL
    49 // CMgItemsList::NewL
    48 // Two-phased constructor
    50 // Two-phased constructor
    49 // ---------------------------------------------------------------------------
    51 // ---------------------------------------------------------------------------
    50 //
    52 //
    51 
    53 
    52 CMgItemsList* CMgItemsList::NewL( MCLFItemListModel* aItemListModel, TMgCmdId aCmdId )
    54 CMgItemsList* CMgItemsList::NewL( MCLFItemListModel* aItemListModel, CClfOperationObserver* aOperationObserver, TMgCmdId aCmdId )
    53     {
    55     {
    54     return new( ELeave ) CMgItemsList( aItemListModel, aCmdId );
    56     return new( ELeave ) CMgItemsList( aItemListModel, aOperationObserver, aCmdId );
    55     }
    57     }
    56 
    58 
    57 
    59 
    58 // ---------------------------------------------------------------------------
    60 // ---------------------------------------------------------------------------
    59 // CMgItemsList::~CMgItemsList
    61 // CMgItemsList::~CMgItemsList
    61 // ---------------------------------------------------------------------------
    63 // ---------------------------------------------------------------------------
    62 //
    64 //
    63 CMgItemsList::~CMgItemsList()
    65 CMgItemsList::~CMgItemsList()
    64     {
    66     {
    65 
    67 
    66 	delete iItemListModel;
    68     if(iItemListModel)
    67 
    69         {
    68   	delete iMediaItem;
    70             iItemListModel->CancelRefresh();
    69 
    71             delete iItemListModel;
    70 	}
    72             iItemListModel = NULL;
       
    73         }
       
    74     if(iOperationObserver)
       
    75         {
       
    76             delete iOperationObserver;
       
    77             iOperationObserver = NULL;
       
    78         }
       
    79     if(iMediaItem)
       
    80         {
       
    81             delete iMediaItem;
       
    82             iMediaItem = NULL;
       
    83         }
       
    84     }
    71 // ---------------------------------------------------------------------------
    85 // ---------------------------------------------------------------------------
    72 // CMgItemsList::Reset
    86 // CMgItemsList::Reset
    73 // Resets the iterator to point to the beginning of list
    87 // Resets the iterator to point to the beginning of list
    74 // ---------------------------------------------------------------------------
    88 // ---------------------------------------------------------------------------
    75 //
    89 //
    87 //
   101 //
    88 TBool CMgItemsList::NextL( TLiwVariant& aItem )
   102 TBool CMgItemsList::NextL( TLiwVariant& aItem )
    89     {
   103     {
    90 
   104 
    91     iCurrent++;
   105     iCurrent++;
    92 
   106     
    93     if( iCurrent<iCount )
   107     if( iCurrent< iCount )
    94         {
   108         {
    95 
   109 
    96         const MCLFItem& item = iItemListModel->Item( iCurrent );
   110         const MCLFItem& item = iItemListModel->Item( iCurrent );
    97 
   111 
    98         TPtrC fullPath;
   112         TPtrC fullPath;