mpengine/tsrc/unittest_mpmpxcollectionframeworkwrapper/stub/src/mpxcollectionutility.cpp
author hgs
Fri, 09 Jul 2010 16:27:03 -0500
changeset 43 0f32e550d9d8
parent 36 a0afa279b8fe
child 51 560ce2306a17
permissions -rw-r--r--
201027

/*
* Copyright (c) 2006 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: mpxcollectionutility stub for testing mpmpxframeworkwrapper
*
*/


#include <mpxmedia.h>
#include <mpxmessage.h>
#include <mpxmessagegeneraldefs.h>
#include <mpxcollectionmessage.h>
#include <mpxcollectionmessagedefs.h>
#include <mpxmediageneraldefs.h>
#include <mpxmediacollectiondetaildefs.h>
#include <mpxcollectionplugin.hrh>
#include <mpxcollectionpath.h>
#include <mpxcollectionobserver.h>
#include "mptrace.h"
#include <e32debug.h>

#include "stub/inc/mpxcollectionutility.h"
const TInt KMPXAllSongsViewIndex = 0;
const TInt KMPXPlaylistViewIndex = 1;

/*!
 Stub function.
*/
MMPXCollectionUtility::MMPXCollectionUtility():iBack(EFalse),
                                               iOpen(EFalse),
                                               iMedia(EFalse),
                                               iIndex(0),
                                               iOpenCount(0),
                                               iCountPath(0),
                                               iPlaylists(0),
                                               iAlbumSongs(0),
                                               iAsynchFindResult(0)
{
    
}

/*!
 Stub function.
*/
MMPXCollectionUtility::~MMPXCollectionUtility()
{
    if (iAlbumSongs)
    {
        delete iAlbumSongs;
    }
    if (iPlaylists)
    {
        delete iPlaylists;
    }
    if (iAsynchFindResult)
    {
        delete iAsynchFindResult;
    }
}

/*!
 Stub function.
*/
MMPXCollectionUtility* MMPXCollectionUtility::NewL(MMPXCollectionObserver* aObs, const TUid& aModeId)
{
    Q_UNUSED(aObs);
    Q_UNUSED(aModeId);
    MMPXCollectionUtility* temp = new MMPXCollectionUtility();
    return temp;
}

/*!
 Stub function.
*/
MMPXCollection& MMPXCollectionUtility::Collection()
{ 
    return *this;
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::Close()
{
    delete this;
}

/*!
 Stub function.
*/
CMPXMedia* MMPXCollectionUtility::FindAllL(const CMPXSearchCriteria& aCriteria,
                                    const TArray<TMPXAttribute>& aAttrs)
{
    Q_UNUSED(aAttrs);
    
    // Find Playlists
    if(aCriteria.IsSupported(KMPXMediaGeneralType) && EMPXGroup == aCriteria.ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType) &&
       aCriteria.IsSupported(KMPXMediaGeneralCategory) && EMPXPlaylist == aCriteria.ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory))
        {
        return CMPXMedia::NewL(*iPlaylists);
        }
    // Find Album with ID
    else if (aCriteria.IsSupported(KMPXMediaGeneralType) && EMPXGroup == aCriteria.ValueTObjectL<TMPXGeneralType>(KMPXMediaGeneralType) &&
       aCriteria.IsSupported(KMPXMediaGeneralCategory) && EMPXSong == aCriteria.ValueTObjectL<TMPXGeneralCategory>(KMPXMediaGeneralCategory) &&
       aCriteria.IsSupported(KMPXMediaGeneralId) && iAlbumSongs &&
       //it is assumed that album ID matches index on the media array, just to make test logic more simple.
       TUint32(aCriteria.ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId)) >= 0 && TUint32(aCriteria.ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId)) < iAlbumSongs->Count())
        {
        return CMPXMedia::NewL(*iAlbumSongs->AtL(aCriteria.ValueTObjectL<TMPXItemId>(KMPXMediaGeneralId)));
        }
    else
        {
        return NULL;
        }
}
/*!
 Stub function.
*/
void MMPXCollectionUtility::FindAllL(const CMPXSearchCriteria& aCriteria,
                                    const TArray<TMPXAttribute>& aAttrs,
                                    MMPXCollectionFindObserver& aObs)
{
    Q_UNUSED(aObs);
    iAsynchFindResult = FindAllL(aCriteria, aAttrs);
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::MediaL(const CMPXCollectionPath& aPath,
                                   const TArray<TMPXAttribute>& aAttrs,
                                   CMPXAttributeSpecs* aSpecs,
                                   CMPXFilter* aFilter)
{
    Q_UNUSED(aPath);
    Q_UNUSED(aAttrs);
    Q_UNUSED(aSpecs);
    Q_UNUSED(aFilter);
    iMedia = ETrue;
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::CancelRequest()
{   
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::BackL()
{
    iBack = ETrue;
}

/*!
 Stub function.
*/
CMPXCollectionPath* MMPXCollectionUtility::PathL()
{
    CMPXCollectionPath* path = CMPXCollectionPath::NewL();
    CleanupStack::PushL( path );
    path->AppendL( TUid::Uid(EMPXCollectionPluginMusic).iUid );
    path->AppendL( KMPXPlaylistViewIndex );
    //Fake some elements for the path
    for(TInt i = 0; i < 10; i++){
        path->InsertL(TUid::Uid(EMPXCollectionPluginMusic).iUid,0);
    }
    CleanupStack::Pop( path );
        
    return path;
}

/*!
 Stub function.
*/
TUid MMPXCollectionUtility::CollectionIDL(const TArray<TUid>& aUids)
{ 
    Q_UNUSED(aUids);
    return TUid::Uid(EMPXCollectionPluginMusic);
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::OpenL(TMPXOpenMode aMode)
{
    Q_UNUSED(aMode);
    iOpen = ETrue;
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::OpenL(TInt aIndex,TMPXOpenMode aMode)
{
    Q_UNUSED(aMode);
    iIndex = aIndex;  
    iOpen = ETrue;
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::OpenL(const CMPXCollectionPath& aPath, TMPXOpenMode aMode)
{
    Q_UNUSED(aMode);
    iCountPath = aPath.Count();
    iOpen = ETrue;
    iOpenCount++;
}

/*!
 Stub function.
*/
void MMPXCollectionUtility::setPlaylists( const CMPXMedia& entries )
{
    delete iPlaylists;
    iPlaylists = 0;
    iPlaylists = CMPXMedia::NewL(entries);
}

//end of file