mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpmpxcollectiondata.cpp
changeset 36 a0afa279b8fe
parent 22 ecf06a08d4d9
child 51 560ce2306a17
--- a/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpmpxcollectiondata.cpp	Fri May 14 18:54:37 2010 -0500
+++ b/mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpmpxcollectiondata.cpp	Fri May 28 19:46:01 2010 -0500
@@ -18,6 +18,9 @@
 #include "mptrace.h"
 #include "stub/inc/mpmpxcollectiondata.h"
 #include <mpxmedia.h>
+#include <mpxmediaarray.h>
+#include <mpxmediageneraldefs.h>
+#include <mpxmediacontainerdefs.h>
 
 
 /*!
@@ -25,16 +28,19 @@
  */
 MpMpxCollectionData::MpMpxCollectionData()
     :mContainerMedia(0),
+    mMediaArray(0),
     mMediaSet(EFalse),
-    mContext (ECollectionContextUnknown)
-{   
+    mContext (ECollectionContextUnknown),
+    mCurrentAlbumIndex(0),
+    mAlbumSongCount(0)
+{
 }
 
 /*!
  Stub function.
 */
 MpMpxCollectionData::~MpMpxCollectionData()
-{   
+{
 }
 
 /*!
@@ -47,6 +53,28 @@
 
 /*!
  Stub function.
+ */
+int MpMpxCollectionData::count() const
+{
+    return 0;
+}
+
+/*!
+ Stub function.
+ */
+QString MpMpxCollectionData::collectionTitle() const
+{
+    QString title;
+    if ( mContainerMedia && mContainerMedia->IsSupported( KMPXMediaGeneralTitle ) ) {
+        const TDesC& titleText = mContainerMedia->ValueText( KMPXMediaGeneralTitle );
+        if ( titleText.Compare( KNullDesC ) != 0 ) {
+            title = QString::fromUtf16( titleText.Ptr(), titleText.Length() );
+        }
+    }
+    return title;
+}
+/*!
+ Stub function.
 */
 QString MpMpxCollectionData::itemData( int index, MpMpxCollectionData::DataType type ) const
 {
@@ -58,14 +86,35 @@
         return QString();
     }
 }
+
+/*!
+ Stub function.
+ */
+int MpMpxCollectionData::itemId( int index )
+{
+    CMPXMedia* currentMedia( mMediaArray->AtL( index ) );
+    Q_ASSERT( currentMedia->IsSupported( KMPXMediaGeneralId ) );
+    return currentMedia->ValueTObjectL<TInt>( KMPXMediaGeneralId );
+}
+
+/*!
+ Stub function.
+ */
+int MpMpxCollectionData::currentAlbumIndex() const
+{
+    return mCurrentAlbumIndex;
+}
+
 /*!
  Stub function.
 */
-void MpMpxCollectionData::setMpxMedia( const CMPXMedia& entries )
+void MpMpxCollectionData::setMpxMedia( const CMPXMedia& entries, bool reopen)
 {
+    Q_UNUSED(reopen);
     delete mContainerMedia;
     mContainerMedia = 0;
     mContainerMedia = CMPXMedia::NewL(entries);
+    mMediaArray = const_cast<CMPXMediaArray*>(mContainerMedia->Value<CMPXMediaArray>( KMPXMediaArrayContents ) );
     mMediaSet = ETrue;
 }
 
@@ -77,4 +126,25 @@
     return *mContainerMedia;
 }
 
+/*!
+ Stub function.
+*/
+void MpMpxCollectionData::setAlbumContent( const CMPXMedia& albumContent )
+{
+    //CMPXMediaArray* songArray(const_cast<CMPXMediaArray*>( albumContent.Value<CMPXMediaArray>(
+    //                KMPXMediaArrayContents ) ) );
+    CMPXMediaArray* songArray = albumContent.Value<CMPXMediaArray>( KMPXMediaArrayContents );
+    User::LeaveIfNull( songArray );
+
+    // Save the songs to the album so that we don't need to find them again
+    // if the same album is selected again.
+    mAlbumSongCount = songArray->Count();
+
+    if ( mAlbumSongCount ) {
+        CMPXMedia* albumMedia( mMediaArray->AtL( mCurrentAlbumIndex ) );
+        albumMedia->SetCObjectValueL(KMPXMediaArrayContents, songArray);
+        albumMedia->SetTObjectValueL<TInt>(KMPXMediaArrayCount, mAlbumSongCount);
+    }
+}
+
 //end of file