154 cmd->iClient = &aClient; |
154 cmd->iClient = &aClient; |
155 cmd->iAlbumList = aAlbumList; |
155 cmd->iAlbumList = aAlbumList; |
156 iMdsDb.iCmdQueue->ExecuteCmdL( cmd ); //owneship moves |
156 iMdsDb.iCmdQueue->ExecuteCmdL( cmd ); //owneship moves |
157 CleanupStack::Pop( cmd ); |
157 CleanupStack::Pop( cmd ); |
158 } |
158 } |
159 |
159 |
|
160 // --------------------------------------------------------------------------- |
|
161 // CVcxMyVideosMdsAlbums::GetAlbumL |
|
162 // --------------------------------------------------------------------------- |
|
163 // |
|
164 CMPXMedia* CVcxMyVideosMdsAlbums::GetAlbumL( TUint32 aId ) |
|
165 { |
|
166 CMdEObject* object = iMdsDb.ObjectL( aId, EFalse /* is not video, is album */); |
|
167 |
|
168 if ( !object ) |
|
169 { |
|
170 MPX_DEBUG2("CVcxMyVideosMdsAlbums:: mds id %d not found from mds", aId); |
|
171 return NULL; |
|
172 } |
|
173 |
|
174 CleanupStack::PushL( object ); // 1-> |
|
175 |
|
176 CMPXMedia* album = CMPXMedia::NewL( ); |
|
177 CleanupStack::PushL( album ); // 2-> |
|
178 |
|
179 Object2MediaL( *object, *album ); |
|
180 |
|
181 CleanupStack::Pop( album ); // <-2 |
|
182 CleanupStack::PopAndDestroy( object ); // <-1 |
|
183 |
|
184 return album; |
|
185 } |
|
186 |
160 // --------------------------------------------------------------------------- |
187 // --------------------------------------------------------------------------- |
161 // CVcxMyVideosMdsAlbums::DoGetAlbumsL |
188 // CVcxMyVideosMdsAlbums::DoGetAlbumsL |
162 // --------------------------------------------------------------------------- |
189 // --------------------------------------------------------------------------- |
163 // |
190 // |
164 void CVcxMyVideosMdsAlbums::DoGetAlbumsL( CMPXMedia* aAlbumList, |
191 void CVcxMyVideosMdsAlbums::DoGetAlbumsL( CMPXMedia* aAlbumList, |
336 CMdEProperty* property = NULL; |
363 CMdEProperty* property = NULL; |
337 |
364 |
338 // ID |
365 // ID |
339 TMPXItemId mpxId; |
366 TMPXItemId mpxId; |
340 mpxId.iId1 = aObject.Id(); |
367 mpxId.iId1 = aObject.Id(); |
341 mpxId.iId2 = 2; |
368 mpxId.iId2 = KVcxMvcMediaTypeAlbum; |
342 aAlbum.SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId, mpxId ); |
369 aAlbum.SetTObjectValueL<TMPXItemId>( KMPXMediaGeneralId, mpxId ); |
343 |
370 |
344 // TITLE |
371 // TITLE |
345 if ( aObject.Property( *iMdsDb.iTitlePropertyDef, property, 0 ) != KErrNotFound ) |
372 if ( aObject.Property( *iMdsDb.iTitlePropertyDef, property, 0 ) != KErrNotFound ) |
346 { |
373 { |
775 |
802 |
776 MPX_DEBUG1("CVcxMyVideosMdsAlbums::AddAlbumL() exit"); |
803 MPX_DEBUG1("CVcxMyVideosMdsAlbums::AddAlbumL() exit"); |
777 } |
804 } |
778 |
805 |
779 // --------------------------------------------------------------------------- |
806 // --------------------------------------------------------------------------- |
|
807 // CVcxMyVideosMdsAlbums::SetAlbumL |
|
808 // --------------------------------------------------------------------------- |
|
809 // |
|
810 void CVcxMyVideosMdsAlbums::SetAlbumL( CMPXMedia& aVideo ) |
|
811 { |
|
812 MPX_DEBUG1("CVcxMyVideosMdsDb::SetAlbumL() start"); |
|
813 |
|
814 if ( !iMdsDb.iMdsSession ) |
|
815 { |
|
816 MPX_DEBUG2("CVcxMyVideosMdsAlbums:: no mds session(%d), leaving", iMdsDb.iMdsError); |
|
817 User::Leave( iMdsDb.iMdsError ); |
|
818 } |
|
819 |
|
820 TMPXItemId mpxId = TVcxMyVideosCollectionUtil::IdL( aVideo ); |
|
821 |
|
822 MPX_DEBUG2("CVcxMyVideosMdsAlbums::SetAlbumL updating object %d ", mpxId.iId1); |
|
823 |
|
824 CMdEObject* object = |
|
825 iMdsDb.iMdsSession->OpenObjectL( mpxId.iId1, *iAlbumObjectDef ); |
|
826 if ( !object ) |
|
827 { |
|
828 // No object with this ID was found! |
|
829 MPX_DEBUG1("CVcxMyVideosMdsAlbums::SetAlbumL no object found"); |
|
830 User::Leave( KErrNotFound ); |
|
831 } |
|
832 else |
|
833 { |
|
834 MPX_DEBUG1("CVcxMyVideosMdsAlbums::SetAlbumL object found"); |
|
835 |
|
836 if ( object->OpenForModifications() ) |
|
837 { |
|
838 CleanupStack::PushL( object ); // 1-> |
|
839 |
|
840 Media2ObjectL( aVideo, *object ); |
|
841 |
|
842 iMdsDb.iMdsSession->CommitObjectL( *object ); |
|
843 |
|
844 CleanupStack::PopAndDestroy( object ); |
|
845 } |
|
846 else |
|
847 { |
|
848 // Object is already locked! |
|
849 MPX_DEBUG1("CVcxMyVideosMdsAlbums::SetAlbumL object was locked!"); |
|
850 delete object; |
|
851 User::Leave( KErrInUse ); |
|
852 } |
|
853 } |
|
854 |
|
855 MPX_DEBUG1("CVcxMyVideosMdsDb::SetAlbumL() exit"); |
|
856 } |
|
857 |
|
858 // --------------------------------------------------------------------------- |
780 // CVcxMyVideosMdsAlbums::RemoveAlbumsL |
859 // CVcxMyVideosMdsAlbums::RemoveAlbumsL |
781 // --------------------------------------------------------------------------- |
860 // --------------------------------------------------------------------------- |
782 // |
861 // |
783 void CVcxMyVideosMdsAlbums::RemoveAlbumsL( CMPXMedia* aMpxCmd, MVcxMyVideosMdsAlbumsObserver& aClient ) |
862 void CVcxMyVideosMdsAlbums::RemoveAlbumsL( CMPXMedia* aMpxCmd, MVcxMyVideosMdsAlbumsObserver& aClient ) |
784 { |
863 { |