mpviewplugins/mpplaybackviewplugin/inc/mpmpxpbframeworkwrapper_p.h
author Dremov Kirill (Nokia-D-MSW/Tampere) <kirill.dremov@nokia.com>
Fri, 16 Apr 2010 14:56:30 +0300
changeset 20 82baf59ce8dd
parent 19 4e84c994a771
permissions -rw-r--r--
Revision: 201011 Kit: 201015

/*
* 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: Framework wraper for Playback - Private.
*
*/

#ifndef MPMPXPBFRAMEWORKWRAPPER_P_H
#define MPMPXPBFRAMEWORKWRAPPER_P_H

#include <mpxplaybackobserver.h>
#include <mpxcollectionobserver.h>

class MMPXPlaybackUtility;
class MMPXCollectionUtility;
class MpMpxPbFrameworkWrapper;
class CMPXMedia;
class MpPlaybackData;


class MpMpxPbFrameworkWrapperPrivate : public MMPXPlaybackObserver,
                                       public MMPXPlaybackCallback,
                                       public MMPXCollectionObserver
{
public:

    explicit MpMpxPbFrameworkWrapperPrivate( MpMpxPbFrameworkWrapper *qq );
    virtual ~MpMpxPbFrameworkWrapperPrivate();

    void init();

    void playPause();
    void stop();
    void skipForward();
    void skipBackward();
    void setPosition( int value );
    void setShuffle( bool mode );
    void setRepeat( bool mode );

    MpPlaybackData *playbackData();

    // From MMPXPlaybackObserver
    void HandlePlaybackMessage( CMPXMessage *aMessage, TInt aError );

    // From MMPXPlaybackCallback
    void HandlePropertyL( TMPXPlaybackProperty aProperty, TInt aValue, TInt aError );
    void HandleSubPlayerNamesL( TUid aPlayer, const MDesCArray *aSubPlayers,
                                TBool aComplete, TInt aError );
    void HandleMediaL( const CMPXMedia& aProperties, TInt aError );

    // From MMPXCollectionObserver
    void HandleCollectionMessage( CMPXMessage* aMessage, TInt aError );
    void HandleOpenL( const CMPXMedia& aEntries, TInt aIndex, TBool aComplete, TInt aError);
    void HandleOpenL( const CMPXCollectionPlaylist& aPlaylist, TInt aError );
    void HandleCollectionMediaL( const CMPXMedia& aMedia, TInt aError );

private:

    void DoInitL();
    void DoHandlePlaybackMessageL( const CMPXMessage& aMessage );
    void ForceStopL();
    void UpdateStateL();
    void RetrieveSongDetailsL();

private:

    MpMpxPbFrameworkWrapper         *q_ptr;

    MMPXPlaybackUtility             *iPlaybackUtility;     // Own
    MMPXCollectionUtility           *iCollectionUtility;   // Own
    CMPXMedia                       *iMedia;               // Own

    MpPlaybackData                  *iPlaybackData;        // Own

};

#endif  // MPMPXPBFRAMEWORKWRAPPER_P_H