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 // ----------------------------------------------------------------------------- |