diff -r b95ddb5a0d10 -r eff9df3d9c98 mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp --- a/mpviewplugins/mpdetailsviewplugin/src/mpmpxdetailsframeworkwrapper_p.cpp Fri Jun 11 16:24:02 2010 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,283 +0,0 @@ -/* -* 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 - Private. -* -*/ - -#include -#include -#include -#include -#include -#include -#include -#include - -#include "mpmpxdetailsframeworkwrapper_p.h" -#include "mpmpxdetailsframeworkwrapper.h" -#include "mpcommondefs.h" -#include "mptrace.h" -#include "mpsongdata.h" - -/*! - \class MpMpxDetailsFrameworkWrapperPrivate - \brief Wrapper for mpx framework utilities - private implementation. - - This is a private implementation of the mpx framework wrapper utilties interface. -*/ - -/*! - \internal - */ -MpMpxDetailsFrameworkWrapperPrivate::MpMpxDetailsFrameworkWrapperPrivate( MpMpxDetailsFrameworkWrapper *qq ) - : q_ptr( qq ), - iSongData(0), - iPlaybackUtility(0) -{ - TX_ENTRY - // TODO: Who will call the destructor if it throws ? - QT_TRAP_THROWING( constructProviderL() ); - TX_EXIT -} - -/*! - \internal - */ -MpMpxDetailsFrameworkWrapperPrivate::~MpMpxDetailsFrameworkWrapperPrivate() -{ - TX_ENTRY - // TODO: Hkn: Trace the leave on debug, remove any TRAP_IGNORE s - TRAP_IGNORE( destructProviderL() ); - TX_EXIT -} - -/*! - \internal - \ TODO: Hkn: rename - */ -void MpMpxDetailsFrameworkWrapperPrivate::constructProviderL() -{ - TX_ENTRY - iPlaybackUtility = MMPXPlaybackUtility::UtilityL( - TUid::Uid( MpCommon::KMusicPlayerUid ) ); - iPlaybackUtility->AddObserverL( *this ); - - iSongData = new MpSongData(); - User::LeaveIfNull(iSongData); - - TX_EXIT -} - -/*! - \internal - */ -void MpMpxDetailsFrameworkWrapperPrivate::destructProviderL() -{ - TX_ENTRY - if ( iPlaybackUtility ) - { - iPlaybackUtility->RemoveObserverL( *this ); - iPlaybackUtility->Close(); - iPlaybackUtility = NULL; - //do not delete pointer data - } - - delete iSongData; - iSongData=NULL; - TX_EXIT -} - -/*! - \internal - */ -void MpMpxDetailsFrameworkWrapperPrivate::HandlePlaybackMessage( - CMPXMessage *aMessage, - TInt aError ) -{ - Q_UNUSED( aMessage ); - Q_UNUSED( aError ); -} - -/*! - \internal - */ -void MpMpxDetailsFrameworkWrapperPrivate::HandlePropertyL( TMPXPlaybackProperty /*aProperty*/, TInt /*aValue*/, TInt /*aError*/ ) -{ - TX_LOG -} - -/*! - \internal - */ -void MpMpxDetailsFrameworkWrapperPrivate::HandleSubPlayerNamesL( TUid /*aPlayer*/, const MDesCArray */*aSubPlayers*/, TBool /*aComplete*/, TInt /*aError*/ ) -{ - TX_LOG -} - -/*! - \internal - */ -void MpMpxDetailsFrameworkWrapperPrivate::HandleMediaL( - const CMPXMedia& aProperties, - TInt aError ) -{ - TX_ENTRY - - if ( KErrNone != aError ){ - // TODO: Hkn: Add a proper trace macro and trace - TX_EXIT - return; - } - - bool changed = false; - if ( aProperties.IsSupported( KMPXMediaGeneralTitle ) ) { - changed |= iSongData->setTitle( - QString::fromUtf16( - aProperties.ValueText( KMPXMediaGeneralTitle ).Ptr(), - aProperties.ValueText( KMPXMediaGeneralTitle ).Length() ) ); - } else { - changed |= iSongData->setTitle( QString() ); - } - - if ( aProperties.IsSupported( KMPXMediaMusicArtist ) ) { - changed |= iSongData->setArtist( - QString::fromUtf16( - aProperties.ValueText( KMPXMediaMusicArtist ).Ptr(), - aProperties.ValueText( KMPXMediaMusicArtist ).Length() ) ); - } else { - changed |= iSongData->setArtist( QString() ); - } - - if ( aProperties.IsSupported( KMPXMediaMusicAlbum ) ) { - changed |= iSongData->setAlbum( - QString::fromUtf16( - aProperties.ValueText( KMPXMediaMusicAlbum ).Ptr(), - aProperties.ValueText( KMPXMediaMusicAlbum ).Length() ) ); - } else { - changed |= iSongData->setAlbum( QString() ); - } - if ( changed ) { - iSongData->commitPlaybackInfo( ); - } - - // call back will be called when Album art is retrieved - if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaMusicAlbumArtFileName ) ) ) { - iSongData->setAlbumArtUri( - QString::fromUtf16( - aProperties.ValueText(KMPXMediaMusicAlbumArtFileName).Ptr(), - aProperties.ValueText(KMPXMediaMusicAlbumArtFileName).Length())); - } else { - iSongData->setAlbumArtUri( QString() ); - } - - // all following will be for song details - changed = false; - if ( aProperties.IsSupported( KMPXMediaGeneralComment ) ) { - TX_LOG_ARGS( "Comment is supported " ); - changed |= iSongData->setComment( - QString::fromUtf16( - aProperties.ValueText( KMPXMediaGeneralComment ).Ptr(), - aProperties.ValueText( KMPXMediaGeneralComment ).Length() ) ); - } else { - changed |= iSongData->setComment( QString() ); - } - - if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaMusicComposer ) ) ) { - TX_LOG_ARGS( "Composer is supported " ); - changed |= iSongData->setComposer( - QString::fromUtf16( - aProperties.ValueText( KMPXMediaMusicComposer ).Ptr(), - aProperties.ValueText( KMPXMediaMusicComposer ).Length())); - } else { - changed |= iSongData->setComposer( QString() ); - } - - if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaMusicYear ) ) ) { - TInt64 yearInMicroSeconds = aProperties.ValueTObjectL( KMPXMediaMusicYear ); - TTime yearTime( yearInMicroSeconds ); - changed |= iSongData->setYear( yearTime.DateTime().Year() ); - } else { - // to clear previous result - changed |= iSongData->setYear( -1 ); - } - - if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaMusicAlbumTrack ) ) ) { - changed |= iSongData->setAlbumTrack( - QString::fromUtf16( - aProperties.ValueText( KMPXMediaMusicAlbumTrack ).Ptr(), - aProperties.ValueText( KMPXMediaMusicAlbumTrack ).Length())); - } else { - changed |= iSongData->setAlbumTrack( QString() ); - } - - if ( aProperties.IsSupported( TMPXAttribute( KMPXMediaMusicGenre ) ) ) { - changed |= iSongData->setGenre( - QString::fromUtf16( - aProperties.ValueText( KMPXMediaMusicGenre ).Ptr(), - aProperties.ValueText( KMPXMediaMusicGenre ).Length())); - } else { - changed |= iSongData->setGenre( QString() ); - } - - if ( changed ) { - iSongData->commitSongDetailInfo( ); - } - TX_EXIT -} - -/*! - return song data - */ -MpSongData *MpMpxDetailsFrameworkWrapperPrivate::songData() -{ - TX_LOG - return iSongData; -} - -/*! - \internal - */ -void MpMpxDetailsFrameworkWrapperPrivate::retrieveSong() -{ - TX_ENTRY - TRAP_IGNORE( doRetrieveSongL() ); - TX_EXIT -} - -/*! - \internal - */ -void MpMpxDetailsFrameworkWrapperPrivate::doRetrieveSongL() -{ - TX_ENTRY - MMPXSource *mediaSrc = iPlaybackUtility->Source(); - User::LeaveIfNull( mediaSrc ); - RArray requestedAttr; - CleanupClosePushL( requestedAttr ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralTitle ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicArtist ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicAlbum ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralUri ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicAlbumArtFileName ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaGeneralComment ) ); - - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicAlbumTrack ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicComposer ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicYear ) ); - requestedAttr.AppendL( TMPXAttribute( KMPXMediaMusicGenre ) ); - - mediaSrc->MediaL( requestedAttr.Array(), *this ); - CleanupStack::PopAndDestroy( &requestedAttr ); - TX_EXIT -}