mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpmpxcollectiondata.cpp
author hgs
Tue, 24 Aug 2010 03:36:14 -0500
changeset 51 560ce2306a17
parent 36 a0afa279b8fe
permissions -rw-r--r--
201033

/*
* Copyright (c) 2009 Nokia Corporation and/or its subsidiary(-ies).
* All rights reserved.
* This component and the accompanying materials are made available
* under the terms of "Eclipse Public License v1.0"
* which accompanies this distribution, and is available
* at the URL "http://www.eclipse.org/legal/epl-v10.html".
*
* Initial Contributors:
* Nokia Corporation - initial contribution.
*
* Contributors:
*
* Description: MpMpxCollectionData stub for testing mpmpxframeworkwrapper
*
*/

#include "mptrace.h"
#include "stub/inc/mpmpxcollectiondata.h"
#include <mpxmedia.h>
#include <mpxmediaarray.h>
#include <mpxmediageneraldefs.h>
#include <mpxmediacontainerdefs.h>


/*!
 Stub function.
 */
MpMpxCollectionData::MpMpxCollectionData()
    :mContainerMedia(0),
    mMediaArray(0),
    mMediaSet(EFalse),
    mContext (ECollectionContextUnknown),
    mCurrentAlbumIndex(0),
    mAlbumSongCount(0)
{
}

/*!
 Stub function.
*/
MpMpxCollectionData::~MpMpxCollectionData()
{
}

/*!
 Stub function.
*/
TCollectionContext MpMpxCollectionData::context()
{
    return mContext;
}

/*!
 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
{
    Q_UNUSED(index);
    if ( type == MpMpxCollectionData::Uri ) {
        return QString("Uri");
    }
    else {
        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, bool reopen)
{
    Q_UNUSED(reopen);
    delete mContainerMedia;
    mContainerMedia = 0;
    mContainerMedia = CMPXMedia::NewL(entries);
    mMediaArray = const_cast<CMPXMediaArray*>(mContainerMedia->Value<CMPXMediaArray>( KMPXMediaArrayContents ) );
    mMediaSet = ETrue;
}

/*!
 Stub function.
 */
void MpMpxCollectionData::incrementalOpenUpdate()
{
}

/*!
 Stub function.
*/
const CMPXMedia& MpMpxCollectionData::containerMedia()
{
    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