videocollection/videocollectionwrapper/src/videocollectionclient.cpp
changeset 35 3738fe97f027
parent 34 bbb98528c666
child 36 8aed59de29f9
equal deleted inserted replaced
34:bbb98528c666 35:3738fe97f027
   282 //
   282 //
   283 int VideoCollectionClient::removeAlbums(const QList<TMPXItemId> &mediaIds)
   283 int VideoCollectionClient::removeAlbums(const QList<TMPXItemId> &mediaIds)
   284 {
   284 {
   285     int err(-1);
   285     int err(-1);
   286     
   286     
   287     if (mCollectionUtility)
   287     if (mCollectionUtility && mediaIds.count())
   288     {
   288     {
   289         TRAP(err, removeAlbumsL(mediaIds));
   289         TRAP(err, removeAlbumsL(mediaIds));
   290     }
   290     }
   291 
   291 
   292     return err;
   292     return err;
   294 
   294 
   295 // -----------------------------------------------------------------------------
   295 // -----------------------------------------------------------------------------
   296 // addItemsInAlbum
   296 // addItemsInAlbum
   297 // -----------------------------------------------------------------------------
   297 // -----------------------------------------------------------------------------
   298 //
   298 //
   299 int VideoCollectionClient::addItemsInAlbum(TMPXItemId albumId,
   299 int VideoCollectionClient::addItemsInAlbum(TMPXItemId &albumId,
   300     const QList<TMPXItemId> &mediaIds)
   300     const QList<TMPXItemId> &mediaIds)
   301 {
   301 {
   302     int err(-1);
   302     int err(-1);
   303     
   303     
   304     if (mCollectionUtility && albumId != TMPXItemId::InvalidId() &&
   304     if (mCollectionUtility && albumId != TMPXItemId::InvalidId() &&
   305         albumId.iId2 == KVcxMvcMediaTypeAlbum)
   305         albumId.iId2 == KVcxMvcMediaTypeAlbum && mediaIds.count())
   306     {
   306     {
   307         TRAP(err, addItemsInAlbumL(albumId, mediaIds));
   307         TRAP(err, addItemsInAlbumL(albumId, mediaIds));
       
   308     }
       
   309     
       
   310     return err;
       
   311 }
       
   312 
       
   313 // -----------------------------------------------------------------------------
       
   314 // removeItemsFromAlbum
       
   315 // -----------------------------------------------------------------------------
       
   316 //
       
   317 int VideoCollectionClient::removeItemsFromAlbum(TMPXItemId &albumId, 
       
   318             const QList<TMPXItemId> &mediaIds)
       
   319 {
       
   320     int err(-1);
       
   321         
       
   322     if (mCollectionUtility && albumId != TMPXItemId::InvalidId() &&
       
   323         albumId.iId2 == KVcxMvcMediaTypeAlbum && mediaIds.count())
       
   324     {
       
   325         TRAP(err, removeItemsFromAlbumL(albumId, mediaIds));
   308     }
   326     }
   309     
   327     
   310     return err;
   328     return err;
   311 }
   329 }
   312 
   330 
   496     CleanupStack::PushL( array );
   514     CleanupStack::PushL( array );
   497     CMPXMedia* media = 0;
   515     CMPXMedia* media = 0;
   498     int count = mediaIds.count();
   516     int count = mediaIds.count();
   499     for (int i = 0; i < count; i++)
   517     for (int i = 0; i < count; i++)
   500     {
   518     {
   501         media = CMPXMedia::NewL();
   519         if(mediaIds.at(i).iId2 == KVcxMvcMediaTypeAlbum)
   502         CleanupStack::PushL(media);
   520         {
   503         media->SetTObjectValueL(KMPXMediaGeneralId, mediaIds.at(i));
   521             media = CMPXMedia::NewL();
   504         array->AppendL(*media);
   522             CleanupStack::PushL(media);
   505         CleanupStack::PopAndDestroy(media);
   523             media->SetTObjectValueL(KMPXMediaGeneralId, mediaIds.at(i));
   506     }
   524             array->AppendL(*media);
   507     cmd->SetCObjectValueL(KMPXMediaArrayContents, array);
   525             CleanupStack::PopAndDestroy(media);
   508 
   526         }
   509     mCollectionUtility->Collection().CommandL(*cmd);
   527     }
       
   528     if(array->Count())
       
   529     {
       
   530         cmd->SetCObjectValueL(KMPXMediaArrayContents, array);
       
   531         mCollectionUtility->Collection().CommandL(*cmd);
       
   532     }
       
   533     else
       
   534     {
       
   535         // invalid data provided
       
   536         User::Leave(KErrGeneral);   
       
   537     }
   510 
   538 
   511     CleanupStack::PopAndDestroy( array );  
   539     CleanupStack::PopAndDestroy( array );  
   512     CleanupStack::PopAndDestroy( cmd );  
   540     CleanupStack::PopAndDestroy( cmd );  
   513 }
   541 }
   514 
   542 
   547 
   575 
   548 // -----------------------------------------------------------------------------
   576 // -----------------------------------------------------------------------------
   549 // addItemsInAlbumL
   577 // addItemsInAlbumL
   550 // -----------------------------------------------------------------------------
   578 // -----------------------------------------------------------------------------
   551 //
   579 //
   552 void VideoCollectionClient::addItemsInAlbumL(TMPXItemId albumId,
   580 void VideoCollectionClient::addItemsInAlbumL(TMPXItemId &albumId,
   553     const QList<TMPXItemId> &mediaIds)
   581     const QList<TMPXItemId> &mediaIds)
   554 {
   582 {
   555     CMPXCommand* cmd = CMPXCommand::NewL();
   583     CMPXCommand* cmd = CMPXCommand::NewL();
   556     CleanupStack::PushL(cmd);
   584     CleanupStack::PushL(cmd);
   557     cmd->SetTObjectValueL(KMPXCommandGeneralId, KVcxCommandIdMyVideos);
   585     cmd->SetTObjectValueL(KMPXCommandGeneralId, KVcxCommandIdMyVideos);
   558     cmd->SetTObjectValueL(KVcxMediaMyVideosCommandId, KVcxCommandMyVideosAddToAlbum);
   586     cmd->SetTObjectValueL(KVcxMediaMyVideosCommandId, KVcxCommandMyVideosAddToAlbum);
   559     cmd->SetTObjectValueL(KVcxMediaMyVideosUint32Value, albumId.iId1);
   587     cmd->SetTObjectValueL(KVcxMediaMyVideosUint32Value, albumId.iId1);
   560     cmd->SetTObjectValueL(KMPXCommandGeneralDoSync, EFalse);
       
   561     cmd->SetTObjectValueL(KMPXCommandGeneralCollectionId, TUid::Uid(KVcxUidMyVideosMpxCollection));
   588     cmd->SetTObjectValueL(KMPXCommandGeneralCollectionId, TUid::Uid(KVcxUidMyVideosMpxCollection));
   562 
   589 
   563     CMPXMediaArray* array = CMPXMediaArray::NewL();
   590     CMPXMediaArray* array = CMPXMediaArray::NewL();
   564     CleanupStack::PushL( array );
   591     CleanupStack::PushL( array );
   565     CMPXMedia* video = 0;
   592     CMPXMedia* video = 0;
   566     int count = mediaIds.count();
   593     int count = mediaIds.count();
   567     for (int i = 0; i < count; i++)
   594     for (int i = 0; i < count; i++)
   568     {
   595     {
   569         video = CMPXMedia::NewL();
   596         if(mediaIds.at(i).iId2 == KVcxMvcMediaTypeVideo)
   570         CleanupStack::PushL(video);
   597         {
   571         video->SetTObjectValueL(KMPXMediaGeneralId, mediaIds.at(i));
   598             video = CMPXMedia::NewL();
   572         array->AppendL(*video);
   599             CleanupStack::PushL(video);
   573         CleanupStack::PopAndDestroy(video);
   600             video->SetTObjectValueL(KMPXMediaGeneralId, mediaIds.at(i));
   574     }
   601             array->AppendL(*video);
   575     cmd->SetCObjectValueL(KMPXMediaArrayContents, array);
   602             CleanupStack::PopAndDestroy(video);
   576 
   603         }
   577     mCollectionUtility->Collection().CommandL(*cmd);
   604     }
   578 
   605     if(array->Count())
       
   606     {
       
   607         cmd->SetCObjectValueL(KMPXMediaArrayContents, array);
       
   608         mCollectionUtility->Collection().CommandL(*cmd);
       
   609     }
       
   610     else
       
   611     {
       
   612         // invalid data provided
       
   613         User::Leave(KErrGeneral);   
       
   614     }
       
   615 
       
   616     CleanupStack::PopAndDestroy(array);
       
   617     CleanupStack::PopAndDestroy(cmd);
       
   618 }
       
   619 
       
   620 // -----------------------------------------------------------------------------
       
   621 // removeItemsFromAlbumL
       
   622 // -----------------------------------------------------------------------------
       
   623 //
       
   624 void VideoCollectionClient::removeItemsFromAlbumL(TMPXItemId &albumId, 
       
   625                                                 const QList<TMPXItemId> &mediaIds)
       
   626 {
       
   627     CMPXCommand* cmd = CMPXCommand::NewL();
       
   628     CleanupStack::PushL(cmd);
       
   629     cmd->SetTObjectValueL(KMPXCommandGeneralId, KVcxCommandIdMyVideos);
       
   630     cmd->SetTObjectValueL(KVcxMediaMyVideosCommandId, KVcxCommandMyVideosRemoveFromAlbum);
       
   631     cmd->SetTObjectValueL(KVcxMediaMyVideosUint32Value, albumId.iId1);
       
   632     cmd->SetTObjectValueL(KMPXCommandGeneralCollectionId, TUid::Uid(KVcxUidMyVideosMpxCollection));
       
   633 
       
   634     CMPXMediaArray* array = CMPXMediaArray::NewL();
       
   635     CleanupStack::PushL( array );
       
   636     CMPXMedia* video = 0;
       
   637     int count = mediaIds.count();
       
   638     for (int i = 0; i < count; i++)
       
   639     {
       
   640         if(mediaIds.at(i).iId2 == KVcxMvcMediaTypeVideo)
       
   641         {
       
   642             video = CMPXMedia::NewL();
       
   643             CleanupStack::PushL(video);
       
   644             video->SetTObjectValueL(KMPXMediaGeneralId, mediaIds.at(i));
       
   645             array->AppendL(*video);
       
   646             CleanupStack::PopAndDestroy(video);
       
   647         }
       
   648     }
       
   649     if(array->Count())
       
   650     {
       
   651         cmd->SetCObjectValueL(KMPXMediaArrayContents, array);
       
   652         mCollectionUtility->Collection().CommandL(*cmd);
       
   653     }
       
   654     else
       
   655     {
       
   656         // invalid data provided
       
   657         User::Leave(KErrGeneral);   
       
   658     }
   579     CleanupStack::PopAndDestroy(array);
   659     CleanupStack::PopAndDestroy(array);
   580     CleanupStack::PopAndDestroy(cmd);
   660     CleanupStack::PopAndDestroy(cmd);
   581 }
   661 }
   582 
   662 
   583 // -----------------------------------------------------------------------------
   663 // -----------------------------------------------------------------------------